PiwigoPluginTagsCategories

http://fr.piwigo.org/forum/viewtopic.php?pid=129040#p129040

Nouvelle formulation

ne semble plus disponible?

Pré-requis : - Les photos devront être taggés. [Utilisation des tags] - Utilisation du plugin [extension by P@t] Extended Description (installez-le).

Mise en oeuvre sur un exemple:

A - Remplir la catégorie ping-pong

J'ai soudain envie de me faire une catégorie virtuelle qui regroupera toutes mes photos ayant pour tag le mot "Rhône".

1) Je commence par créer une nouvelle catégorie virtuelle ("Rhone"). 2) (supprimé) 3) Dans la description de cette catégorie virtuelle, j'écris le code suivant:

Code:

Ceci est une catégorie dite "ping pong"<!--more--><script type="text/javascript">self.location.href='http://monsite/piwigo/index.php?/tags/65-Rhone';</script>

Explications : Ceci est une catégorie dite "ping pong" C'est le message que tout le monde verra (on peut mettre aussi "catégorie dynamique");

<!--more--> Utilisation du plugin [extension by P@t] Extended Description. Tout ce qui est écrit avant la balise <!--more--> est visible, ce qui suit est visible (ou ici exécuté) une fois que l'on est rentré dans la catégorie.

<script type="text/javascript">self.location.href='http://mon_site/piwigo/index.php?/tags/65-Rhone';</script>:

Ce code est composé de deux parties:

- <script>self.location.href='xxxxxxxxx';</script> Ceci est un bout de code qui est interprété dès que l'on rentre dans la catégorie. Il a pour effet de renvoyer le visiteur vers le lien xxxxxxxxxxx.

- "http://mon_site/piwigo/index.php?/tags/65-Rhone" ou xxxxxxxxx ligne ci-dessus. Pour avoir ce contenu, allez dans la gallerie, ouvrez la fenetre des tags, faites un clic droit sur le tag choisi (ici "Rhone") et cliquez sur "copiez l'adresse du lien". C'est l'URL qui renvoie vers la liste des photos taggées avec ce tag. Mettez évidemment votre URL, pas la mienne :-). Le tag est précédé par un numéro (65 dans l'exemple) qui dépends de la galerie, d'où la procédure décrite ici.

Relisez bien, cette étape est difficile à saisir.

Par contre le nom de cette catégorie ne va pas apparaitre dans le menu car piwigo ne lui voit aucun contenu. IL faut donc...

B - Rajouter une image factice.

4.a) On va utiliser une image à fond blanc. Prenez l'image suivante: . Si le png vous pose problème, faites-en un jpg. 4.b) Placez la dans une catégorie privée, par exemple une catégorie réelle "maintenance" (ou "work") créé pour ce genre de besoin. Comme elle ne contiendra rien qui intéresse les visiteurs, inutile que d'autres que vous puissent la voir; 4.c) Pensez à créer une miniature à l'aide de Piwigo ;-), synchronisez et vérifiez que vous avez bien une image dans votre catégorie de maintenance; 4.d) Associez là (via les options de l'image) à la catégorie ping-pong (ici Rhone); 4.e) Toujours dans les options de l'image "rien", nommer cette dernière comme suite: <!--hidden--> Ca aura pour effet de ne même pas afficher cette image sur la page des miniatures de ses catégories.

A partir de la là, vous avez réalisé le plus gros du travail. Normalement votre catégorie "ping-pong" devrait être remplie et visible dans le menu.

Noter que : - le nom de la catégorie ping-pong est suivi de (1), elle ne contient qu'une image tant qu'elle n'a pas été vue; - s'il s'agit d'une sous-catégorie (Fleuves/Rhone), l'arborescence se referme dés que la catégorie ping-pong est affichée (on voyait Fleuve/Rhone /Rhin, on ne voit plus que Fleuve).

Si ca ne marche pas, reprenez un par un les étapes et vérifiez si les modifications ont été prises en compte. Il est facile d'oublier de valider une modif

Ancienne formulation

Pré-requis : - Les photos devront être taggés. [Utilisation des tags] - Utilisation du plugin [extension by P@t] Extended Description

Mise en oeuvre sur un exemple: J'ai soudain envie de me faire une catégorie virtuelle qui regroupera toutes mes photos ayant pour tag le mot "Rhône" (moi j'ai "agrandisseur").

1) Je commence par créer une nouvelle catégorie virtuelle ("Agrandisseur"). Je lui attribue tous les petits réglages qui vont bien (C'est à dire? j'ai mis "publique").

2) Dans le nom de cette catégorie, on ajoutera le code <!--hide-counters-->. Vous pouvez l'ajouter avant ou après le titre.

3) Dans la description de cette catégorie virtuelle, j'écris le code suivant:

Ceci est une catégorie dite "ping pong"
<!--more--><script type="text/javascript">self.location.href=
'http://dodin.org/piwigo/index.php?/tags/65-agrandisseur';</script>

Explications :

Ceci est une catégorie dite "ping pong"

C'est le message que tout le monde verra

<!--more-->

Utilisation du plugin simpliste [extension by P@t] Extended Description. Tout ce qui est écrit avant la balise <!--more--> est visible, ce qui suit est visible (ou ici exécuté) une fois que l'on est rentré dans la catégorie.

<script type="text/javascript">self.location.href='http://dodin.org/piwigo/index.php?/tags/65-agrandisseur';</script>

On va décomposer ce code en deux choses:

- <script>self.location.href='xxxxxxxxx';</script> Ceci est un bout de code qui est interprété dès que l'on rentre dans la catégorie. Il a pour effet de renvoyer le visiteur vers le lien xxxxxxxxxxx qui dans mon exemple pointe vers le tag "Rhône" (ou "Agrandisseur").

- "http://dodin.org/piwigo/index.php?/tags/65-agrandisseur", xxxxxxxxx ligne ci-dessus. Pour avoir ce contenu, allez dans la gallerie, faites un clic droit sur le tag chosi (ici "Agrandisseur") et cliquez sur "copiez l'adresse du lien". C'est l'URL qui renvoie vers la liste des photos taggées avec ce tag. Mettez évidemment votre URL, pas le mienne :-).

noter que c'est cette étape que j'avais mal vue (entre autre)

4) Ensuite, il suffit d'attribuer à la catégorie une photo pour la remplir un minimum:

4.a) On va s'aider d'une image format png à fond blanc. Prenez l'image suivante: ;

4.b) Placez la dans une catégorie privée, par exemple une catégorie réelle "maintenance" créé pour ce genre de besoin;

4.c) Pensez à créer une miniature à l'aide de Piwigo ;-), synchronisez et vérifiez que vous avez bien une image dans votre catégorie de maintenance;

4.d) Associez là (via les options de l'image) à la catégorie ping-pong;

4.e) Toujours dans les options de l'image "rien[i]", nommer cette dernière comme suite: <!--hidden--> Ca aura pour effet de ne même pas afficher cette image sur la page des miniatures de ses catégories.

5) Maintenant, attribuez (via les options de la catégorie [i]ping-pong) un représentant pour donner une "image" à cette nouvelle catégorie.

Et on fait ca comment? il n'y a qu'un bouton "tirer un représentant au hasard" et on ne voit rien

A partir de la là, vous avez réalisé le plus gros du travail.

Vous observerez que la catégorie ainsi crée est affiché avec le nombre de photo noté à "1". C'est vrai que la catégorie n'est composée que d'une seule photo. Il s'agit de la photo rappelez-nous "rien.jpg".

Mais votre catégorie ping-pong va contenir un nombre de photos que l'on ne connais pas d'avance. Donc il faut neutraliser le compteur de photos dans l'affichage de la catégorie. Merci à VDigital pour la solution.

6) A l'aide de la page Comment réaliser son template-extension [cette page est vide], vous réaliserez l'extension du fichier mainpage_categories.tpl. Votre fichier s'appellera admettons my-mainpage_categories.tpl

ca doit être ca: http://fr.piwigo.org/doc/doku.php?id=pwg2:utilisation:fonctionnalites:template

Ce que jen tire:

aller dans configuration/Templates (modèles) et lire le "?":

On peut mettre dans le dossier "template-extensions" n'importe quel fichier d'extension "tpl" qui pourra être lié à un fichier d'origine et le remplacer. La page ci-dessus permet d'activer la nouvelle page (template rattachée) à la place de l'ancienne (template d'origine), au besoin uniquement pour le paramètre d'URL spécifié. Le plus simple étant sans doute de commener avec une copie de la template d'origine (copier/coller).

Conclusion: dans LocalFile Editor, choisissez Templates, créer un nouveau fichier. Faite un copier coller du nom de fichier (my-mainpage_categories.tpl) et choisissez comme modèle "yoga/mainpage_categories.tpl". Ce fichier fait à peine la taille d'un écran.

7) Pour inhiber l'affichage du nombre de photos sur la page des catégories.

7.1) --(A l'aide du plugin LocalFiles Editor, recherchez la ligne dans my-mainpage_categories.tpl :)--

Vers le milieu de la page vous trouvez:

<p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>

mettez cette ligne entre {* *} (c'est la notation des remarques là dedans)

Pour la remplacer par :

<p class="Nb_images">{if (strpos($cat.NAME,'<!--hide-counters-->') == 0)}{$cat.CAPTION_NB_IMAGES}{else} {/if}</p>

C'est une expression conditionnelle. Si le nom de la catégorie (cat.NAME) contient <!--hide-counters-->, le nombre dimages est remplacé par   qui est l'html pour un espace insécable. Dans cette nouvelle ligne, vous pouvez remplacer   par le texte de votre choix. Chez moi j'ai remplacer par "(Catégorie automatique)".

On ne peut pas rentrer de tabulation dans LocalFileEditor, j'ai mis des espaces

suite 7.2 pas essayée

7.2) A noter (bis) que vous pouvez aussi complétement effacer la ligne correspondante à l'affichage du nombre de photo en changement le code de remplacement du point [b]7.1)[/i] pour le code suivant : Code:

{if (strpos($cat.NAME,'<!--hide-counters-->') == 0)}<p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>{/if}

8) A présent, il ne vous reste plus qu'à appliquer votre extension de template. enregistrer le fichier, associez la nouvelle template avec l'ancienne

ben rien ne marche... --(pas d'affichage des photos)--, pas de suppression du numéro :-(

Après quelques tests: si je modifie directement la template d'origine, il y a un résultat, mais pas celui attendu. Les numéros sont supprimés, mais seulement à coté des vignettes, pas dans le menu. Et ca ne veut pas marcher depuis my-...

par contre l'affichage des photos marche. Pour une raison ou une autre, en passant d'une fenetre de firefox à une autre, je n'avais pas validé le commentaire de la catégorie!