Submitted by clement106 on
Bonjour,
J'aimerais afficher un champ de type entier dans un de mes noeuds avec la préférence.
J'ai créé un champ de type entier pour stocker des prix.
Comme suffixe j'ai mis "€"
Comme préférence d'affichage j'ai mis: 9 999
Si je rentre 3000, j'aimerais que sa m'affiche 3 000 €
J'ai essayé comme celà:
<?php print content_format('field_prix_france_ttc', $node->field_prix_france_ttc[0]); ?>
Le résultat: 3000 €
Merci d'avance pour votre aide!
D'une maniere générale, pour
Permalien Soumis par haza le 13 Février, 2010 - 18:00
D'une maniere générale, pour afficher un champ CCK, rajoute le suffixe _rendered a son nom, dans ton template. Ce qui donnerais ici :
Merci beaucoup,ça marche,
Permalien Soumis par clement106 le 13 Février, 2010 - 18:13
Merci beaucoup,ça marche, enfin presque car maintenant ça m'affiche le nom du champ en gras juste au dessus.
J'ai essayé de le faire disparaître:
<?php unset($field_prix_france_ttc['widget']['label']);?>
Visiblement c'est pas comme ça qu'il faut faire, est-ce qu'il y a une solution pour celà?
Sinon je vais me débrouiller autrement, via php.
Pourquoi faire compliqué ?
Permalien Soumis par haza le 13 Février, 2010 - 18:18
Pourquoi faire compliqué ? ;)
admin/content/types/[TonTypeDeContenu]/display/basic
Pour ton champ, mettre :
Etiquette (ou Label en anglais) : Hidden
Lol, mais oui bien
Permalien Soumis par clement106 le 13 Février, 2010 - 18:36
Lol, mais oui bien sur...c'est bien mon genre de tout compliquer.
Par contre j'ai un dernier petit (gros) problème, je m'explique:
J'ai créé un module où je charge un noeud
<?php
$node = node_load(45);
?>
Comment faire à ce moment pour utiliser cette fonction?
Tu parles du fait de cacher
Permalien Soumis par haza le 13 Février, 2010 - 18:44
Tu parles du fait de cacher les label ?
Normalement, cela devrait s'appliquer quel que soit le cas, a partir du moment tu passes par un node_view() pour générer ton noeud.
Non, ça ne marche pas tout
Permalien Soumis par clement106 le 13 Février, 2010 - 19:06
Non, ça ne marche pas tout court, je dois surement faire une erreur grossière.
Dans mon module je charge le noeud avec node_load().
Ce module travail avec un bloc dans le quel j'ai mis:
Résultat: rien ne s'affiche.
Est-ce que si j'utilise la fonction node_view() celà s'arrangerait?
Merci pour ton aide!
un print
Permalien Soumis par haza le 13 Février, 2010 - 19:06
un print $node->field_prix_france_ttc_rendered; c'est normal que ca ne marche pas. (voir procedure de creation des rendered de CCK pour l'explication :P).
Bref, sinon, tu as un module qui fait un node load, pour en tirer un field qui ira l'afficher dans un block ... hummm ... => pourquoi ne pas utiliser Views ? Il fera vraiment tout, tout seul comme un grand.
C'est ce que je me disais
Permalien Soumis par clement106 le 13 Février, 2010 - 19:22
C'est ce que je me disais aussi :)
Views est un module géniale, c'est sur mais pour ce que je dois faire précisément, ça ne joue pas par contre je l'utilise pour pleins d'autres choses.
Encore merci pour l'aide que tu m'apporté, je vais regarder dans la doc de drupal si je trouve la solution.
Salutations.
Clément