Submitted by lektum on
Bonjour,
J'ai un type de contenu pour lequel j'ai créé un champ CCK de type texte (imaginons qu'il s'agit d'un sous-titre pour un contenu de type article). Tout marche bien mais je voudrais, pour des raisons évidentes de sémantique XHTML, que le contenu saisi par l'utilisateur pour ce champ s'affiche, dans le rendu HTML final, entre des balises pertinentes, par exemple :
<h2>contenu saisi</h2>
au lieu de (c'est ce que j'ai pour l'instant) :
<div class="field-items">
<div class="field-item odd">contenu saisi</div>
</div>
J'ai bien lu la doc et j'ai compris qu'il faut faire une supplantation ("override"). Sauf que je ne vois pas comment. J'imagine qu'une simple fonction à ajouter dans template.php devrait y parvenir, mais je pipe pas grand chose à PHP, je suis un designer, moua ;-)
Dommage d'ailleurs qu'on ne puisse décider cela dès la configuration d'un champ CCK, par exemple via une liste déroulante de balises HTML entre lesquelles on n'aurait plus qu'à choisir, ce serait trop beau...
Si vous avez une petite idée, merci d'avance !
On va faire propre (pour une
Permalien Soumis par haza le 29 Mars, 2009 - 23:09
On va faire propre (pour une fois)
Donc, dans ton template.php, tu peux rajouter (vérifie que ta fonction n'existe pas déjà, si oui, rajoute juste le contenu de la fonction ci-dessous)
<?php
function phptemplate_preprocess_node(&$vars, $hook) {
$vars['ma_var'] = $vars['node']->field_NOM_DU_FIELD_CCK[0]['safe'];
?>
Ensuite, dans le node.tpl.php, tu va pouvoir écrire
<?php print $ma_var; ?>
ce qui affichera le contenu "brut" (mais "safe", c'est a dire que du code potentiellement malicieux aura été supprimé) de ton champs.Merci beaucoup pour ta
Permalien Soumis par lektum le 30 Mars, 2009 - 11:21
Merci beaucoup pour ta réponse. Faut que j'aille tester.
Si tu redéfinis ton
Permalien Soumis par lastnico le 31 Mars, 2009 - 09:59
Si tu redéfinis ton template (de type node-<tontype>.tpl.php), tu pourras aisément accéder à ton field CCK, et de là, le placer dans n'importe quelle balise HTML possible
Il y aussi le module
Permalien Soumis par nyl auster le 31 Mars, 2009 - 10:10
Il y aussi le module contemplate qui peut dépanner, il sert exactement à ça :-)
Merci !
Permalien Soumis par lektum le 1 Avril, 2009 - 08:55
Merci !