Textpattern CMS support forum
You are not logged in. Register | Login | Help
- Topics: Active | Unanswered
#1 2011-07-19 21:21:17
- prassa
- Member
- Registered: 2005-10-23
- Posts: 11
[fr-fr] Affichage des categories en colonnes
Bonjour,
Je fais appel aux experts pour résoudre un problème dépassant mes (maigres) compétences…
Je cherche à créer en bas de page d’un site trois colonnes rassemblant les différentes catégories du site ordonnées alphabétiquement (avec si possible le nombre d’articles qui leur sont attachés). Le but étant évidement de générer et mettre à jour automatiquement cette liste à chaque fois qu’une nouvelle catégorie est créée. Le code final à obtenir correspondrait à peu près à ceci :
<table>
<tr>
<td>
<ul>
<li><a href=“http://”>Categorie 1 (5)</a></li>
<li><a href=“http://”>Categorie 2 (1)</a></li>
<li><a href=“http://”>Categorie 3 (5)</a></li>
</ul>
</td>
<td>
<ul>
<li><a href=“http://”>Categorie 4 (5)</a></li>
<li><a href=“http://”>Categorie 5 (1)</a></li>
<li><a href=“http://”>Categorie 6 (5)</a></li>
</ul>
</td>
<td>
<ul>
<li><a href=“http://”>Categorie 7 (5)</a></li>
<li><a href=“http://”>Categorie 8 (1)</a></li>
<li><a href=“http://”>Categorie 9 (5)</a></li>
</ul>
</td>
</tr>
</table>
Bref, tournant en rond, si vous avez une idée, je prend…
Ph.
Offline
Re: [fr-fr] Affichage des categories en colonnes
J’ai utilisé il y a un certain temps un plugin jQuery qui découpe une liste déjà constituée en plusieurs colonnes. C’est Easy List Splitter.
Offline
Re: [fr-fr] Affichage des categories en colonnes
Si tu veux le faire avec les tags textpattern, regarde du côté des variables :
Avant la boucle catégorie :
<txp:variable name="step" value="3" />
En intro de ta boucle
<txp:if_variable name="step" value="1" />
<txp:variable name="step" value="2" />
</txp:if_variable>
<txp:if_variable name="step" value="2" />
<txp:variable name="step" value="3" />
</txp:if_variable>
<txp:if_variable name="step" value="3" />
<txp:variable name="step" value="1" />
</txp:if_variable>
Toutes les 3 réponses, le compteur revient à 1.
Et tu affiches les balises html grâce au compteur créé :
<txp:if_variable name="step" value="1">
<td>
<ul>
</txp:if_variable>
<li> … </li>
<txp:if_variable name="step" value="3">
</ul>
</td>
</txp:if_variable>
Pour arriver au même résultat regarde du côté du plug’in zem_nth si tu n’est pas à l’aise avec les variables.
Pour un compteur, regarde ce tips, il propose d’utiliser le plug’in “cbs_category_list” (il me semble qu’il est “orphelin”, donc je ne sais pas s’il va fonctionner.
========
À part cela, ton idée (mettre des cats sur plusieurs colonnes avec tri verticale) me parait bancale :
Si tu décide de limiter la hauteur de chaque colonne à 3 résultats, à chaque création d’une nouvelle catégorie, ton tableau risque de prendre une cellule supplémentaire. Et tu n’as pas une place infini en largeur (dans le cas d’une mise an page standard avec scroll verticale). Si tu n’as la place que pour 4 cellules, tu ne peux dépasser 12 cats. Sinon, retourner sur ton code et passer le nombre de catégories à 4 par cellules.
Moi je les positionnerais simplement en float:left
ou dispaly:inline/inline-block
avec un tri horizontale. Tu ne te soucie plus de la largeur. Et comme la hauteur n’est pas un problème…
Offline
Re: [fr-fr] Affichage des categories en colonnes
Si c’est le type de présentation scindée en colonnes visible sur la page d’accueil de txp-fr.net que tu recherche, il existe deux solutions.
<tx:variable />
effectivement, comme te recommande Mister Sacripant (qui porte bien son surnom ;), ou, l’usage d’un plugin.
Sur le site mentionné ci-dessus, le choix initial s’était porté sur rvm_counter (choix motivé par une profonde admiration envers son auteur). Toutefois, il s’est avéré que ce plugin générait 17 requêtes supplémentaires (pour 2 appels) ainsi qu’un usage frénétique de la Base de Données. Oops, vous me connaissez mieux maintenant : soucieux, avant tout, de la rapidité des sites, je n’approuvait pas de telles pratiques pernicieuses !
Quelques secondes de recherches plus tard (et oui, le temps c’est du business), j’ai préféré l’usage de gho_alternation un plugin séquentiel parfaitement adapté à nos préoccupations du moment.
Voici donc la structure extraite violemment du site txp-fr.net :
<txp:hide> ==@== form: block content of latest articles for the front page ==@== dependancy: default template </txp:hide> <div class="column col<txp:gho_alternation returns="1,2,3" /> gradient"> <article> <h1><txp:title /></h1> <p><b class="plus-final">+</b></p> <a href="<txp:permlink />" title=" Lire l'article… " class="infos-over"> <span> <strong class="vcard">Auteur : <span class="fn"><txp:author /></span></strong> <br /> <em>Publié le : <time datetime="<txp:posted format="%Y-%m-%d" />"> <txp:posted format="%d %m %Y" /></time></em> <br /> <txp:php> $changed = modified(array( 'format'=>'%d %m %Y')); echo $changed == posted(array('format'=>'%d %m %Y')) ? '' : 'Modifié le '.$changed.' par '.safe_field( "RealName", "txp_users", "name='".safe_field( "LastModID", "textpattern", "ID='".$thisarticle['thisid']."'")."'"); </txp:php></span> <br /> <b class="dim">Catégorie : <txp:category1 /> / <txp:category2 /></b> </a> </article> </div> <!-- colx -->
Dans cet exemple, vous yeux ébahis ont remarqués d’une part, que c’est drôlement bien foutu, et, d’autre part, la ligne magique qui convient <div class="column col<txp:gho_alternation returns="1,2,3" /> gradient">
base de la séquence répétitive (comme la musique du même nom : Phil Glass etc.).
Maintenant, si cela vous intéresse, cette question pourrait faire l’objet d’un article (vous savez qu’il y a un site dédié maintenant ;) : suffit de demander !
P.S. les deux plugins cités sont disponibles (en libre téléchargement au total mépris de la loi Hadopi – un vrai faux problème, entre nous) traduits de surcroît en français par des âmes charitables : txp-fr.net/plugins
Last edited by Pat64 (2011-07-21 09:56:13)
Patrick.
Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.
Offline
Re: [fr-fr] Affichage des categories en colonnes
Merci Pat,
Je ne connaissais pas ce Plug’in. Ni les autres de cet auteur. Ils datent d’avant ma naissance textpaternienne.
Mais s’ils sont toujours maintenus par leur auteur, pourquoi on en trouve aucun trace dans textpattern.org et pourquoi sont-il classés avec les plug’in [Archived] sur ce forum ?
Offline
Re: [fr-fr] Affichage des categories en colonnes
@Sacripant
Bon trêve de plaisanteries ;) C’est quand qu’on pourra lire un article signé… heu, justement Mister Sacripant ! Ca presse.
Last edited by Pat64 (2011-07-21 11:16:11)
Patrick.
Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.
Offline
Re: [fr-fr] Affichage des categories en colonnes
Je ne sais pas si tu va recevoir quelque chose avant septembre. Peut-être que si, peut-être que non.
Et je préfère te dire “surement que non”.
Senticad est en plein déménagement. On bosse au milieu des maçon, électricien, coups de marteau. Un vrai bordel à l’africaine.
Et j’ai un projet à livrer urgement et Textpattern me sort des bugs incroyables avec le contexte categorie.
Appel à l’aide.
Si l’un d’entre vous pourrait juste confirmer ou infirmer mes constatations. N’ayant aucune réponse des devs… J’me sentirais moins seul devant ces bugs qui fout une partie de mon projet à la corbeille.
Offline
Re: [fr-fr] Affichage des categories en colonnes
Ce ne serait pas un problème lié à la traduction du mot category -> catégorie dans les URL ?
Patrick.
Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.
Offline
Re: [fr-fr] Affichage des categories en colonnes
Ayé, je viens de comprendre la question.
Si si, c’est bien à cause des langues. Une requête du style SELECT * FROM `txp_lang` WHERE `data` = 'catégorie'
devrait donner un début de piste.
Offline
Re: [fr-fr] Affichage des categories en colonnes
CeBe se réveille :
Ayé, je viens de comprendre la question.
(…)
CeBe, elle est dans les nuages, ou bien ;)
Last edited by Pat64 (2011-07-23 06:37:47)
Patrick.
Github | CodePen | Codier | Simplr theme | Wait Me: a maintenance theme | [\a mi.ni.ma]: a “Low Tech” simple Blog theme.
Offline