[plugin] plxornament
Bonjour,
J'ai créé un plugins pour avoir un champs complémentaire à la saisie d'un article pour pouvoir lier une illustration (image) à un article.
Utilisant le theme shaken adapté par hamtaro
(theme disponible ici http://forum.pluxml.org/viewtopic.php?id=2391)
j'ai modifié ce theme pour ne plus utiliser le chapo mais mon nouveau champs (nommé ornament)
http://www.ologram.fr/?static1/projets
J'aimerais ajouter un bouton pour aider la saisie du lien vers l'image, si quelqu'un veux bien me donner un coup de main.
J'ai créé un plugins pour avoir un champs complémentaire à la saisie d'un article pour pouvoir lier une illustration (image) à un article.
Utilisant le theme shaken adapté par hamtaro
(theme disponible ici http://forum.pluxml.org/viewtopic.php?id=2391)
j'ai modifié ce theme pour ne plus utiliser le chapo mais mon nouveau champs (nommé ornament)
http://www.ologram.fr/?static1/projets
J'aimerais ajouter un bouton pour aider la saisie du lien vers l'image, si quelqu'un veux bien me donner un coup de main.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
<?php if ($plxShow->plxMotor->plxRecord_arts->f('chapo') != '') {
$thumbID = $plxShow->plxMotor->plxRecord_arts->f('chapo'); ?>
par
<?php if ($plxShow->plxMotor->plxRecord_arts->f('ornament') != '') {
$thumbID = $plxShow->plxMotor->plxRecord_arts->f('ornament'); ?>
Dans le fichier home.php
J'ai un string de l'array
@flipflip : si tu veux un slider cliquable vers l'article (par exemple), c'est tout de même plus simple avec un champ de donnée supplémentaire. Pourquoi, ce n'est pas utile, car il s'agit d'un champ d'information de plus comme le custom-field de Wordpress.
Il pourrait servir de source d'information pour autre chose que l'url d'une image.
Genre le prix de vente d'un produit, l'url d'un site pour une annuaire, une css différente sans changer de template, un script jquery spécifique à un article, un sous-titre, un info disant qu'un article fait partie d'une série d'article, etc ...
STP Ologram, ne change rien. :P
<?php $plxShow->callHook('ornament') ?> ou autre chose ?
Un aide à la flipflip, ça serait bien !!
Après, libre à toi de la mettre comme tu veux dans ton template (balise img pour insérer une image ou lightbox...)
Je te fais un petit retour. Le code HTML généré est coupé, je n'obtient que l'url du site.
En résumé ça donne : http://www.monsite.com/ et non http://www.mon-site.com/data/images/mon-images.jpg.
Je l'ai formaté ainsi :
As-tu remarqué que l'attribut "alt" n'était pas généré ?
reprend ta balise <img src=" et met ici le code que j'ai donné plus haut, puis tu rajoute le "alt" comme tu avait fait
il faut juste que tu mette le bon chemin de ton image dans le champ ornament,
J'avais testé cette manière, mais j'avais laissé mon image en chapô et je ne comprenais pas pourquoi j'avait 2 images générées.
J'ai enfin pu y ajouter ma class css.
Pour ne pas avoir à recharger une image et reprendre mes anciens articles, j'ai ajouté une condition de plus, comme suit : Résolu pour moi.
En revanche ce qui serait un vrai plus cela serait de remplacer le champ d'url de l'image par un boutn appelant le gestionnaire de média, c'est juste pour l'ergonomie.
Si pour tout ceux qui sont ici cela ne posera aucun problème, pour un utilisateur lambda c'est plus complexe
Et encore merci pour cette fonction ! ! !
Petite remarque à ne pas prendre mal mais je ne comprends pas trop l'intérêt de ce plugin : le châpo ne permet-il pas directement de faire ça, surtout si on utilise plxToolbar qui permet d'importer une image directement depuis le gestionnaire de médias) ???
Ce plugin ne sert pas que pour image. Pour moi, c'est un champ d'information supplémentaire qui associé a un article. Niveau usage, je te fais un C/C de ce que j'ai dis plus haut. Ce plugin permet de placer n'importe où dans une page article (et pas seulement le chapô) une information.
En tant que codeur, tu verras vite les possibilités d'un tel plugin. L'idéal serait que ce plugin permette d'ajouter pas un seul mais plusieurs champs. Pour l'instant, j'ai modifié le plugin pour avoir 2 champs d'info en bas de mes articles, coté admin.
Alors si ça te dis de le modifier ? Je suis preneur :P
Si je cherche des fonctionnalités autres, je préfère utiliser un framework (comme Yii par exemple ou Cakephp). J'ai pas encore eu la patience de me plonger dans la doc de wordpress pour en tirer la substantifique moelle (ouh, ça me rappelle mes années lycée tout ça... )
Pour cela, il y a quelques petits trucs:
1/ plxtoolbar s'insère automatiquement avant un textarea ( via une fonction javascript )
2/ les nouveaux champs se trouvent en dehors des balises fieldset
3/ plxtoolbar doit savoir où insérer l'image
Pour se faire:
1/ dans plxornament.php:
remplacez par cela va insérer un textarea plutôt qu'un input, qui aura pour conséquence d'insérer automatiquement le bandeau plxtoolbar avant
2/ dans core/admin/article.php
déplacez dans le fieldset ( je trouve qu'il a une place plus logique ici ... )
3/ dans plugin/plxtoolbar/medias.php rajoutez ornament dans le tableau ben ça à l'air de marcher chez moi ... :P et chez vous ?
Et si vous ne souhaitez avoir que le bouton image, à l'étape 1/ remplacez par: ( ça insère un input et rajoute juste le bouton qui va bien à côté du champ qui va bien :P )
Cordialement,
_____
D.San
2 petites "améliorations" :
- j'ajouterais un value="Explorer" dans ton input type="button"
- comment peut-on ne récupérer que l'url de l'image plutôt que le code complet <img src="url_de_l_image"> dans la zone de texte car il peut être utile de maitriser les arguments de la balise (ajout d'une classe, etc...) ?
Merci
les modifs que tu souhaites concernent donc le plugin plxToolbar si je comprend bien ?
Je ne vois pas ce qui mérite d'être automatisé autre que l'attribut alt ?
Tu peux préciser ton cas de figure ? Il y a peut-être un autre moyen ... ?
Sinon, pour le rajout de "explorer", on peut aussi passer par le CSS
dans plugins/plxornament/plxornament.php, rajoute la class ornament à l'input type button: et dans plugin/plxtoolbar/plxtoolbar/style.css, rajoute: et ça fera un beau bouton avec l'icone d'insertion d'image :P
Cordialement,
_____
D.San
Pour mon autre question (c'est effectivement peut-être une amélioration de plxtoolbar):
Lorsque j'insère une image via le gestionnaire des médias, il insère dans la zone de texte <img src="url_de_l_image" />. Donc le code : <?php echo $plxShow->plxMotor->plxRecord_arts->f('ornament'); ?> retourne <img src="url_de_l_image" />.
Or, j'ai besoin d'obtenir <img src="url_de_l_image" alt="texte" class="class" />.
Donc ce que j'aimerais c'est que lorque j'insère une image, le gestionnaire colle seulement l'url de l'image (sans la balise <img>) pour que je puisse utiliser le code <img src="<?php echo $plxShow->plxMotor->plxRecord_arts->f('ornament'); ?>" alt="texte" class="class"> et contrôler manuellement (et pas automatiquement justement) les classes et textes alternatifs en fonction des pages.
1/ un champ pour une image associée à l'article ( ornament )
2/ un bouton pour ouvrir le gestionnaire de média ( toolbar )
3/ lorsqu'on sélectionne l'image voulue, ça n'insère que l'url de l'image ( gestionnaire media )
4/ et la moulinette dans le template ...
faudrait rajouter une nouvelle fonction toolbar appelée par un nouveau bouton
ou approfondir le plugin ornament
( mais je ne vois pas pour l'instant, et surtout n'ai pas le temps )
j'ai bien trouvé un truc,
mais ça agit sur l'ensemble des boutons d'insertion d'image,
tu perdras ainsi cette fonctionnalité,
je la déconseille ...
si tu veux absolument savoir,
dans plugins/plxtoolbar/medias.php ( script qui ouvre et formate la fenêtre de gestionnaire des médias ),
le bloc ci-dessous gère le formatage de ce qui est inséré ... mais bon, ce n'est pas la bonne solution selon moi car:
lorsqu'on insère une image avec le gestionnaire, ça rajoute déjà alt="" ( pas chez toi ? ),
dans mon template, j'encadre l'appel du plugin ornament dans un div pour atteindre ladite image via le css l'attribut alt doit normalement être propre à l'image,
je le rajoute donc aussi manuellement.
Cordialement,
_____
D.San
Je me risque à une modif de plxtoolbar :
Dans medias.php :
ligne 110 - ajout d'une variable (p_editor) à la fonction formatHTML : ligne 130 - insertion d'une condition ligne 138 - fin de la condition ligne 268 à 269 - on remplace : par Ca fonctionne chez moi : ca n'insère que l'URL.
Dites-moi ce que vous en penser.
Par contre, est-ce que quelqu'un peux m'aider, j'aimerai ajouter un hook dans le moteur de pluxml.
La fonction où j'aimerai ajouter un hook est lastArtList. actuellement il existe le hook plxShowLastArtList, mais il n'en existe pas pour pouvoir ajouter des variables.
J'ai donc ajouté à la fin de la fonction une ligne (ligne 842):
Ensuite dans mon plugins, j'ai ajouté :
J'ai du louper quelque chose.
pour injecter du code php au niveau du hook à partir de ton plugin, il faut utiliser cette syntaxe
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Y'avais aussi \ à mettre avant les $ et cela donne :
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Comment fais t'on pour demander l'ajout du Hook dans la prochaine version de pluxml ?
suffit de me dire (forum ou par mail directement) où tu veux un hook, pourquoi (pour que je comprenne ce qui justifie l'ajout du hook). Apres si c'est vraiment justifié je le rajouterai.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Arf, je me doutais bien qu'il était vénal
Pour le hook, c'est dans le fichier class.plx.show.php,
Cela permet d'ajouter dans un plugins des modifications sur les variables utilisables par la fonction lastArtList.
J'ai donc ajouté à la ligne 203 du fichier class.plx.feed.php
le fil généré parait correct.
Maintenant, j'aimerai basculer ce code dans un hook nommé plxFeedArticleItem de mon plugins.
J'ai donc mis ceci à la ligne 203 du fichier class.plx.feed.php en remplacement de mon code
mais ca ne marche pas ;-( même en ayant laisser la fonction vide dans mon plugins, j'ai le message :
Fatal error: Call to a member function callHook() on a non-object in class.plx.feed.php on line 226