Help : Comment appeler tous les filtres actifs quand on redéfini un thème ?

Catégories:

Bonjour,

Je suis en train de créer le fichier node-typecontent.tpl.php. Le traitement appliqué par les filtres sur le contenu n’est plus appelé (ce qui ne m’étonne pas puisque je n’utilise plus le code existant et j’affiche les CCK un par un).

Comment faire pour appeler les filtres sur chaque champs CCK ? Je suppose qu’il faut appeler un hook, mais je ne trouve pas comment faire.

Avez-vous une idée ?

Merci pour votre aide.

#

En fait, après avoir déprimé, cogner ma tête sur les murs et passer un coup de Firebug For Drupal, j’ai trouvé qu’il fallait écrire

<?php
print $field_galerie[0]['view'];
?>

et non

<?php
print $field_galerie[0]['value'];
?>

Comme quoi… Je me remercie alors !

#

c’est une option, sache aussi que tu disposes d’une fonction plus générique

<?php
check_markup
($text, $format)
?>

. Tu passes en premier paramètre le champ que tu cherches à formater, et dans le second l’index de son format d’entrée.

Yoran - arNuméral

#

Merci Yoran, ta technique est plus clean. Pourrais-tu me donner un exemple concret parceque j’ai essayé le code mais je n’ai pas réussi à trouver le $format ? il est ou le nom du filtre ?

merci d’avance.

PS : une question subsidiaire : comment trouver ce type de fonction ?

#

pour un champ CCK, le format est un champ.. du champ :) par exemple check_markup($node->field_machin[‘value’], $node->field_machin[‘format’])
Si c’est le body d’un noeud drupal, c’est check_markup($node->body, $node->format) ;

Maintenant ce n’est pas forcement l’approche la plus efficace sachant que CCK tu remplis déjà le champ value en faisant un check_markup. En revanche, cela peut te permettre d’aller plus loin que de savoir quelle mécanique est utilisée en interne.

Pour la question subsidiaire, désolé, mais c’est surtout l’expérience et la lecture assidue du code la meilleure source :)

Yoran - arNuméral

Syndiquer le contenu