Plugin mymeta version 0.2 et cas pratiques d'utilisation
La version 0.2 du plugin mymeta vient de voir le jour.
Au programme, pas de grand changement, si ce n'est l'apparition de fonctions template afin d'exploiter un peu mieux le biniou. Les 2 templates :
- {{tpl:MyMetaValue type="toto"}} : affiche la métadonnée toto (il faut que le meta soit activé, sinon n'affiche rien)
- <tpl:MyMetaIf type="toto"> ...</tpl:MyMetaIf> : test sur la métadonnée "toto" (de même, il faut que le meta soit activé, sinon le test n'exécute pas le contenu). Les attributs de test sont les suivants
- defined="true" (resp: "false") : renvoie vrai si le meta est défini (resp. non défini)
- value="valeur" (resp. "!valeur") : renvoie vrai si le méta vaut valeur (resp. ne vaut pas valeur)
- operator ="and" (resp. "or", par défaut "and") : opérateur "et" si defined et value sont définis (resp "ou")
Pour l'installation, c'est par ici :
Pour éclaircir le rôle de mymeta, 2 cas concrets de personnalisation de son blog dans la suite du billet ...
Cas concret n°1 : définir une couleur de ses billets
Ce cas est extensible à d'autres applications : définition de l'humeur, ajout d'un icône voulu, ...
Dans notre cas précis, nous voulons pouvoir appliquer à nos billets une couleur donnée. Pour l'exemple, on va considérer 2 couleurs (bleu et beige, en plus de la couleur par défaut), qui consisteront en 2 classes distinctes.
1. Créer un nouveau meta, nommé "couleur", de type liste, possédant 2 valeurs possibles : bleu et beige
2. Activer ce meta
3. Modifier le billet voulu, à l'aide du nouveau champ qui apparaît dans l'édition des billets :
4. Il faut maintenant adapter légèrement le thème. Modifions le style.css du thème pour définir ces 2 classes de couleurs. Ajouter au style.css du thème
.beige {
background: #c0e4df;
}
.bleu {
background: #e4e1c0;
}
2. Modifier les fichiers post.html et home.html du thème pour que le style soit appliqué au billet. Il suffit pour cela d'appliquer le style au div post
Dans post.html, remplacer :
<div class="post">
Par :
<div class="post {{tpl:MyMetaValue type="couleur"}}">
Si le meta du billet est défini à "bleu", alors cela donnera dans la page finale : <div class="post bleu">
Pour home.html, remplacer
<div class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}} ">
Par :
<div class="post {{tpl:EntryIfOdd}} {{tpl:EntryIfFirst}} {{tpl:MyMetaValue type="couleur"}}">
Et voilà le résultat :

Cas concret n°2 : ne pas afficher un billet dans la liste des billets
Dans ce cas, on veut pouvoir cacher un billet de la liste de billets (home.html) uniquement de la page d'accueil du blog. 1. Créer un meta "hide", de type liste, contenant les valeurs true et false (vous pouvez mettre par exemple true: oui et false:non dans la liste de valeurs, cela affichera "oui" et "non" dans l'édition du billet, mais stockera true et false en base)
2. Mettre hide à "oui" pour les billets voulus
3. Mettre à jour home.html : on ne veut afficher que les billets ayant hide non défini ou à false, ce qui se traduit par :<tpl:MyMetaIf type="hide" defined="false" value="true" operator="||"/>.
En clair, dans home.html, il faut remplacer :
<tpl:Entries>
Par :
<tpl:Entries> <tpl:MyMetaIf type="hide" defined="false" value="true" operator="||"/>
Et :
</tpl:Entries>
Par:
</tpl:MyMetaIf> </tpl:Entries>
Et c'est tout 
Aaaaaaaaaaaah ! D'accoooooooooord ! Mais c'est
Kozlika | vendredi 7 décembre 2007 | 20:30Aaaaaaaaaaaah ! D'accoooooooooord ! Mais c'est génial dis donc !
Les exemples sont bien trouvés mais j'ai quelques
Moe | vendredi 7 décembre 2007 | 23:55Les exemples sont bien trouvés mais j'ai quelques remarques sur les noms des classes :
- utiliser du français alors que toutes les autres classes sont en anglais (peer, odd, calendar, tags, etc.) peut amener quelques confusions
- utiliser des noms de couleurs pour les classes, ça peut être gênant le jour où on voudra du violet à la place du bleu, il faudra modifier le CSS et tous les billets ! Il vaut mieux utiliser des saisons, des moments dans la journée, des lieux, des noms d'animaux, des sentiments, etc. pour qu'ensuite il suffise de modifier seulement la feuille de style pour modifier le style de tous les billets
Enfin c'est juste l'avis de l'intégriste CSS que je suis parfois.
C'est vrai que c'est génial ce truc... Merci pour
mirovinben | samedi 8 décembre 2007 | 07:17C'est vrai que c'est génial ce truc... Merci pour les explications !
Vais regarder ça de plus près.
Moe: je suis entièrement d'accord avec tes
Dsls | samedi 8 décembre 2007 | 09:05Moe: je suis entièrement d'accord avec tes remarques. C'est vrai que j'ai fait mes exemples à la va-vite, l'idée était juste de montrer des exemples d'utilisation du plugin... cela dit, autant lfaire des exemples dans les règles de l'art.
Je vais m'attacher à faire les modifs qui vont bien, dès que j'ai un peu de temps
excellent : on va pouvoir imaginer nos cas
chrys | lundi 10 décembre 2007 | 16:23excellent : on va pouvoir imaginer nos cas pratiques !
l'humeur du blogueur... c'est pas mal ça !
Voila un plugin qui va me simplifier la vie
adjaya | vendredi 14 décembre 2007 | 10:43Voila un plugin qui va me simplifier la vie
yeeaaahhh!!! je sé pas ce que je vais faire avec
Husker | samedi 15 décembre 2007 | 03:41yeeaaahhh!!! je sé pas ce que je vais faire avec ça, mais je sais que je vais pouvoir en faire des choses avec ça!!! c'est TERRIBLE ce truc !!!! MERCI !!!!
Ah oué, maintenant je comprends mieux ! Reste plus
Jean-Michel | mercredi 19 décembre 2007 | 09:42Ah oué, maintenant je comprends mieux ! Reste plus qu'à digérer tout ça et à le réutiliser pour faire de jolies choses
Bonsoir, je t'ai écrit un mail ce matin mais j'ai
Jean-Michel | mercredi 19 décembre 2007 | 16:53Bonsoir, je t'ai écrit un mail ce matin mais j'ai l'impression qu'il y a eu une erreur dans le script d'envoi.
Dans mon installation en local (Easy Php 2.0 beta / Dotclear 2 Béta 7), j'ai installé en multiblog. En premier j'ai installé MyMeta 0.1. Pour installer MyMeta 0.2, j'ai désinstallé la 0.1 mais depuis j'obtiens l'erreur :
Bilan au 202e jour
Journal du blog le 12-12-07 (22:12) • 0 • 0
* {{tpl:MetaID}}Fatal error: Call to undefined method record::getRelatedFilename() in C:\Program Files\EasyPHP 2.0b1\www\dotclear\dc2-7\inc\clearbricks\dblayer\dblayer.php on line 588
Faut-il refaire une installation complete ?
Jean-Michel: j'ai bien reçu le mail L'erreur que
Dsls | mercredi 19 décembre 2007 | 16:58Jean-Michel: j'ai bien reçu le mail
L'erreur que tu mentionne n'a rien à voir avec mymeta. Tu n'aurais pas désinstallé le plugin related, par hasard ?
Non. Pas du tout. Je l'ai encore et la version de
Jean-Michel | mercredi 19 décembre 2007 | 17:42Non. Pas du tout. Je l'ai encore et la version de Related dans mon installation est la 0.3.11
J'ai fait une réinstallation complète et ça marche
Jean-Michel | jeudi 20 décembre 2007 | 11:46J'ai fait une réinstallation complète et ça marche nikel. Mystère et boule de gomme.
Plugin extraordinaire, explications claires, merci
yannig | mercredi 27 février 2008 | 14:54Plugin extraordinaire, explications claires, merci beaucoup pour ton travail dsls !!!
super! exactement ce que je cherchais! Peut-on
bitox | lundi 17 mars 2008 | 01:43super! exactement ce que je cherchais!
Peut-on rendre un méta obligatoire?
Pourra-t-on envisager de masquer MyMeta dans l'édition d'un billet (avé le petit plus bleu) ?
marci!
Bonjour et merci pour ce plugin ! Il y a une
Lunatic | lundi 24 mars 2008 | 17:44Bonjour et merci pour ce plugin !
Il y a une petite coquille, à savoir un « : » en trop dans l'exemple donné en premier point de ce billet.
Merci pour le plugin qui est inutilisable pour un
Gino | vendredi 28 mars 2008 | 12:56Merci pour le plugin qui est inutilisable pour un débutant.
Installation
Cas concret n°1
Comment vous voulez qu'on s'en sort?
Dans quel fichier inserer : ?
De quoi parle t'on de métadonnée ou de couleur?
Y aurai pas un tuto plus simple quelque part ?
Gino: qu'est-ce qui n'est pas clair ?
Dsls | vendredi 28 mars 2008 | 13:18Gino: qu'est-ce qui n'est pas clair ?
Je l'ai couplé avec l'ébauche de plugin miniSEO
francis | jeudi 3 avril 2008 | 17:24Je l'ai couplé avec l'ébauche de plugin miniSEO cela permet de définir un META personnalisé au niveau d'un billet je pense que tu avais vu cela passer sur le forum DC mais au cas ou voila merci encore pour ce plugin. J'ai mis un petit mode d'emploi ici http://www.myouaibe.com/index.php/p...
Vraiment sympa ! Bravo.
Melodawny | vendredi 4 avril 2008 | 03:39Vraiment sympa ! Bravo.
Bonjour et merci pour ce plugin ! J'ai un petit
Phil | samedi 5 avril 2008 | 11:02Bonjour et merci pour ce plugin !
J'ai un petit problème : Les balises meta sont affichées en clair sur le site http://photos.guitton.org/index.php...
J'utilise ton plugin couplé à miniseo
A ton avis quel est le problème ?
Merci
Sympa le plugin, je suis en train de l'utiliser
Thesa | mercredi 18 juin 2008 | 23:09Sympa le plugin, je suis en train de l'utiliser pour faire de la géolocalisation (entrer une latitude et une longitude) avec un lien vers OpenStreetMap.
Par contre, c'est dommage que l'on ne puisse pas mettre des meta sur les images du plugin Gallery...
Je viens de mettre en place ce plugin pour régler
mirovinben | jeudi 14 août 2008 | 07:36Je viens de mettre en place ce plugin pour régler un pb d'ajout de class au niveau du <body> de page.html avec ta fonction template {{tpl:MyMetaValue type=...
C'est beau, c'est bien, c'est élégamment intégré à DC2, Ca marche du tonnerre !... Merci.
Juste une question : quel est le rôle des deux fichiers dans default-templates ?
Mirovinben : les 2 fichiers dans default-template
Dsls | jeudi 14 août 2008 | 08:02Mirovinben : les 2 fichiers dans default-template permettent de lister les meta des billets en partie publique. Par exemple :
Mais c'est que c'est génial, ça... ça va bien
mirovinben | jeudi 14 août 2008 | 08:39Mais c'est que c'est génial, ça... ça va bien m'aider pour lister "totomatiquement" mes albums-photos, quand il y en aura un certain nombre...
Je viens enfin de comprendre le fonctionnement de
Taho! | vendredi 15 août 2008 | 11:46Je viens enfin de comprendre le fonctionnement de ce plug-in et ça m'ouvre des horizons sans fin ! Bravo, bravo !
Je voudrais juste savoir s'il est possible de faire une recherche sur les MyMeta ? Je pourrais ainsi m'en servir comme d'une sous-catégorie aux billets... Comment afficher uniquement les MyMetas "toto" dont la valeur est "blague" (exemple à la con bonjour) ?
Encore bravo !
Bonjour et merci pour ce plugin, Dsls. Mon souci
Kozlika | mercredi 22 octobre 2008 | 12:43Bonjour et merci pour ce plugin, Dsls. Mon souci du jour :
Affichage de la home page, message d'erreur :
Ouverture du fichier en question, de la fin de la ligne 115 à 117 disent ceci :
<span><?php $objMeta = new dcMeta($core); $objMyMeta = new myMeta($core); if ($objMyMeta->isMetaEnabled('o_auteur')) : $value=$objMeta->getMetaStr($_ctx->posts->post_meta,'o_auteur'); if() : ?>plop <?php endif; endif; ?></span></h2>Note : j'ai viré les parenthèses du champ o_auteur avec le même résultat.
Où me suis-je plantée ?
kozlika: en, remplaçant define="true" par
Dsls | mercredi 22 octobre 2008 | 12:56kozlika: en, remplaçant define="true" par defined="true", ça marche mieux ?
... oui. :court se cacher, le rouge au front:
kozlika, reine des bécasses | mercredi 22 octobre 2008 | 13:00... oui.
:court se cacher, le rouge au front:
En fait, ta remarque est fort pertinente, le
Dsls | mercredi 22 octobre 2008 | 13:07En fait, ta remarque est fort pertinente, le plugin ne devrait jamais pondre un code php invalide. Je changerai ça dans la prochaine version.
Bonjour et bravo pour ce plugin. Est-il possible
Fred | mardi 18 novembre 2008 | 18:14Bonjour et bravo pour ce plugin.
Est-il possible d'utiliser tpl:MyMetaIf pour tester la présence d'un tag sur un billet ?