Besoin d'aide : où sont crées les mises en forme de variables du type $terms ?

Catégories:

Bonjour,

J’ai beau chercher partout, je ne trouve pas.
Je suis sur la création d’un gabarit de node.
La fonction :
<?php print $terms ?>
permet de lister les tags associés au node et un lien pointant vers celui-ci.
C’est super, mais la mise en forme ne me plait pas, je voudrais ajouter des images.

Où est «fabriquée» la mise en forme de cette variable ?
Je parle bien de l’endroit où le système définit que $term contient par exemple :

<ul class="links inline"><li class="taxonomy_term_21 first"><a href="/devpal/recettes/plats-de-resistance/legumes" rel="tag" title="">Légumes</a></li>

<li class="taxonomy_term_58 last"><a href="/devpal/dossiers/gratins" rel="tag" title="">Gratins</a></li>
</ul>

Ainsi, je pourrai modifier ça à ma guise.
J’imagine que c’est au même endroit que sont définies les autres variables ?

Merci

#

Salut,

Installe Devel et avec le module Theme Developper tu pourras voir tous les fichiers et fonctions qui sont utilisées pour générer ce genre de variables.

Salutations,

#

Merci, en fait je l’utilise déjà donc les fonctions je n’ai pas de mal à savoir lesquelles sont utilisées… par contre je ne sais pas où elles sont déclarées !!! Dans quel fichier construit-on, par exemple, la fonction theme_links()

Nouveau, pas tapper

#

Salut,

En général tu vas jamais aller modifier ces fonctions, tu peux les récrire facilement par [nom de ton theme]_links().

Avec l’aide de api.drupal.org tu peux savoir les paramètres qu’elle prend et changer le code comme il te semble.

Salutations

#

Ok merci je viens de faire comme tu m’as dit, ça fonctionne, j’ai pu supplanter la fonction du core par celle spécifique à mon thème.
Donc pour ce genre de toutes petites fonctions ça roule.

Maintenant, je cherche la même chose mais pour $content car je n’arrive pas à comprendre comment on peut tout faire débouler d’un coup dans une seule variable et j’ai pas mal de trucs que je voudrais personnaliser. A moins que je ne fasse fausse piste ?

Je commence à comprendre pourquoi on dit que thémer pour Drupal n’est pas évident…

Nouveau, pas tapper

#

Pour le $content d’une page.tpl.php (par exemple) c’est ce qui est issu d’un node.tpl.php ou alors d’un block.tpl.php (pour les variables $left ou $right par exemple).

#

Oui et c’est bien mon problème puisque je voudrais créer une liste HTML de tous les titres d’articles.

Je peux donc faire sur node.tpl.php

<?php if ($page == 0): ?>
<li><a href="<?php echo $node_url ?>"><?php echo $title; ?></a></li>
<?php endif; ?>

Ainsi, quand je ne suis pas sur la page en elle même mais sur la liste des articles tagués sur le même terme, j’ai une liste HTML, mais où mettre les
<ul> et </ul> entourant cette liste ?
Sur page.tpl.php ? Le problème est que ces ul s’afficheront quand je remplirai la condition $page == 1.

Sur le node ? Mais comment faire pour qu’ils ne s’affichent qu’en tout début et en toute fin de liste ?

Merci

Nouveau, pas tapper

#

Tu peux les mettres dans le node.tpl.php et pour t’aider, tu as une variable $id qui permet de savoir quelle est la énième node sur laquelle tu es entrain de travailler.

Donc, sur $id == 1 tu met ton

<

ul> et sur $id == dernière (là je ne sais pas s’il y a une information qui te dis si tu as le nombre de node par page).

Salutations

#

«Maintenant, je cherche la même chose mais pour $content car je n’arrive pas à comprendre comment on peut tout faire débouler d’un coup dans une seule variable et j’ai pas mal de trucs que je voudrais personnaliser. A moins que je ne fasse fausse piste ?»

il y a le module contemplate qui te permet de controler ce qu’il se passe à l’intérieur de la variable content.

«Oui et c’est bien mon problème puisque je voudrais créer une liste HTML de tous les titres d’articles.»

Là je ne comprends pas bien ce que le node.tpl vient faire là dedans ? si tu veux faire une telle liste tu utilises views, éventuellement en mode bloc que tu places en suite où tu désires dans le design via les régions de ton theme.

Syndiquer le contenu