Récupérer des champs (CCK) d'un autre node

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour
J'ai essayé plusieurs choses vues sur les forums, mais je n'arrive pas à trouver le moyen d'insérer des champs CCK issus d'un autre node, ou au moins le body d'un autre node; il me faudrait le code php à insérer dans mon content template.
Je vous remercie par avance.

Le plus simple niveau php c'est de récupérer ton node via la fonction node_load:

<?php
$node
=node_load($nid);
?>

A partir de là tu peux récupérer ce que tu veux, champ CCK compris. pour connaitre le nom des variables CCK contenus dans l'objet node, le mieux est d'installer le module devel et de cliquer sur l'onglet dev_load quand tu va voir un node.
sinon un

<?php
echo '<pre>';
print_r($node);
echo
'</pre>';
?>

te permet de voir tout ton node.

Salut
Tout d'abord je te remercie pour ton aide.
L'utilisation de Views ou de Panel... je préfère éviter, je n'arrive pas trop à m'en servir.
J'ai essayé ton code pour charger tout le node : ça marche mais il m'apparaît plein d'infos non-désirées.
En fait il faut que je charge plusieurs champs d'un node dont l'ID est conditionnée.
Mais, plus simplement, disons que je veux charger le champ "field_environnement" du node 1 dans le node 2.
Je fais :

<?php
 
$node
=node_load(205);
?>

Mais quand je rajoute :

<?php
 
print_r
($node->field_environnement[0]['view']);
?>

ça ne fonctionne pas...
Comment faire ? Merci encore.

plusieurs remarques :
1) tu utilises print_r alors qu'il suffit d'un "print" pour afficher une variable. ex:

<?php
 
print $node->field_environnement[0]['view'];
?>

2) vu que tu es dans contemplate et qu'il manipule peut être aussi une variable $node, essaie de charger ton node de la façon suivante

<?php
 $node_etranger
=node_load($nid);
?>

pour éviter les conflits avec la variable $node de contemplate.

Ensuite tu pourra faire un

<?php
 
print $node_etranger->field_environnement[0]['view'];
?>

Si tu es sur que le nom de ta variable est bonne (vérifier par devel, onglet dev load), ça devrait marcher.

Ca ne fonctionne toujours pas ! J'ai tout bien mis, et c'est comme si le code php était ignoré ! Aucune trace dans la source de la page créée !
J'ai vraiment essayé plein de codes, mais à chaque fois il semble l'ignorer !
Voici exactement ce que j'ai mis :

<?php
$nid
= '205';
$node2=node_load($nid);
print
$node2->field_environnement[0]['view'];
?>

As-tu une idée d'où vient le problème ?
Merci encore.

Faut aller du plus évident au moins évident pour débugguer
0) mettre

<?php
 
echo 'coucou':
?>

et voir si coucou s'affiche bien : ce qui veut dire que ton php est correctement interprété.
1) vérifier que le nid que tu charges est bien celui que tu veux.
2) vérifier que le node2 est bien chargé en faisant

<?php
 
echo '<pre>';
print_r($node2);
echo
'</pre>;'
?>

Poste moi ici le résultat de ce test si ça ne marche toujours pas.
3) vérifie bien que le nom de ta variable généré par CCK est le bon. as tu vérifié avec devel ou le print_r?
4) tiens moi au courant ;-)

Coucou marche !
Test n°2 aussi, j'ai ça :
stdClass Object
(
[nid] => 205
[type] => parti
[language] => fr
[uid] => 1
[status] => 1
[created] => 1242718311
[changed] => 1242753304
[comment] => 2
[promote] => 0
[moderate] => 0
[sticky] => 0
[tnid] => 0
[translate] => 0
[vid] => 207
[revision_uid] => 1
etc...
3) Il me semble bien que c'est le bon nom de variable...
Screenshot : http://mysteriousfeanor.free.fr/a.jpg
4) Je ne comprend pas !
Merci encore.

Voilà :

stdClass Object
(
[nid] => 205
[type] => parti
[language] => fr
[uid] => 1
[status] => 1
[created] => 1242718311
[changed] => 1242753304
[comment] => 2
[promote] => 0
[moderate] => 0
[sticky] => 0
[tnid] => 0
[translate] => 0
[vid] => 207
[revision_uid] => 1
[title] => UMP (Union pour un Mouvement Populaire)
[body] =>
[teaser] =>
[log] =>
[revision_timestamp] => 1242753304
[format] => 0
[name] => Maxime
[picture] =>
[data] => a:0:{}
[field_economie] => Array
(
[0] => Array
(
[value] =>

*

Coordonner les plans de relance :
o

Innover et investir massivement dans les secteurs industriels en difficulté et d’avenir en faisant intervenir l’ensemble des acteurs concernés : Banque Européenne d’Investissement, Commission européenne, gouvernements, régions, secteur privé, etc.
o

Soutenir les partenariats publics-privés
*

Moraliser le capitalisme financier : régulation de tous les acteurs, de toutes les zones de la finance (fonds spéculatifs, paradis fiscaux, rémunération des opérateurs financiers), responsabilité des gouvernements qui doivent travailler à un système de supervision commun, et des institutions comme le FMI, qui doivent anticiper les crises.
* Instaurer un dialogue entre les grandes zones monétaires mondiales (Dollar, Euro, Yuan, Yen…) sur les taux afin d’assurer l’équilibre des échanges et la stabilité économique mondiale.
* Renforcer la coordination entre les différentes autorités nationales de contrôle des établissements financiers sous l’égide d’un nouvel organisme européen au sein de notre immense marché unique et qui disposerait d’un pouvoir de sanction
* Redynamiser les bassins industriels :
o Agir contre les délocalisations : relocaliser les activités en aidant la reconversion des bassins industriels les plus touchés, notamment en soutenant la formation dans les nouveaux métiers de l'écocroissance
o Assouplir et renforcer les critères d’aides du Fond d’Ajustement à la Mondialisation, en finançant par exemple le maintien des salariés dans l’entreprise.
o Développer un programme spécial « Interreg Industrie » lorsqu’une même entreprise européenne rencontre des difficultés dans plusieurs régions différentes.
* Protéger les consommateurs et les citoyens sur internet :
o Harmoniser par une directive les conditions d’étiquetage, les délais de rétractation, les conditions de livraison et les informations légales,
o Une concurrence loyale pour faire baisser les prix au bénéfice du consommateur, mais chacun doit être en mesure de se prévaloir des mêmes droits sur tout le territoire de l’Union ex : prix du SMS
o Offrir un cadre de protection des données personnelles sur internet pour tous les citoyens
* Protéger nos intérêts commerciaux :
o Veiller à ce que le commerce international soit loyal et que les bénéfices soient réciproques, y compris sur nos propres valeurs des droits de l’Homme et de l’environnement, qu’il protège la propriété intellectuelle, l’innovation européenne et bénéficie à ses citoyens.
o Intégrer dans les discussions sur le commerce international de l'OMC des exigences en matière de droit du travail, de préservation de la souveraineté alimentaire des Etats et de la sauvegarde de l’environnement.
o Lutter ensemble contre la contrefaçon.
* Une coordination économique européenne :
o Fixer notre « agenda économique » : renforcer le rôle protecteur de l’Euro, améliorer le dialogue avec la Banque Centrale Européenne, s’armer contre les délocalisations et maintenir la solidarité et la solidité économique des Etats entre eux.
o Coordination des politiques budgétaires et fiscales des Etats au sein de la zone euro
* Investir pour l'après-crise :
o L’Union devra se doter d’un budget au service de l’investissement à l'occasion du débat sur les perspectives financières 2013-2020
o Affirmer clairement notre opposition à tout prélèvement supplémentaire et notre attachement à la souveraineté fiscale des Etats.
o Mutualiser certaines ressources nationales dès lors que les politiques ainsi financées bénéficient efficacement à tous, notamment pour la recherche.
o Affecter une large partie des recettes de la vente des droits d’émission de gaz à effet de serre aux nouvelles politiques orientées vers l’écocroissance.
o Se doter de capacités de financement innovantes comme l’emprunt communautaire. L’Europe doit notamment pouvoir garantir des emprunts communs de plusieurs pays qui souhaiteraient bâtir ensemble des projets forts.
o Mettre en œuvre une taxe « carbone » sur les produits importés en Europe et qui ne respectent pas les normes environnementales des producteurs européens.
o Créer une Caisse des dépôts européenne pour orienter l'épargne des citoyens européens, à l'échelle du continent, vers des investissements de long terme au service de l'intérêt général. Comme les Etats fondateurs ont décidé de partager leurs ressources stratégiques (charbon et acier) à la sortie de la seconde guerre mondiale, cette entité reposerait d'abord sur la définition d'une épargne réglementée définie au niveau européen et sur la mise en réseau de structures existantes partageant déjà une mission d'intérêt général et de financement à long terme de l'économie
o Construire un marché intérieur qui mutualise et stimule l’emploi industriel par des politiques. Consolider l’Acte Unique pour tenir compte du nouveau contexte de concurrence mondiale et de l’impératif de conserver en Europe un outil industriel performant, en association avec les forces syndicales et professionnelles.
o La PME au coeur de la relance :
+ Valoriser le rôle de l’entrepreneur de PME en lui assurant un statut adapté à sa prise de risque.
+ Stimuler un accès réellement efficace aux opportunités de croissance créées par l’Europe en réduisant par l’aménagement d’outils sociaux et fiscaux les coûts liés au développement de marchés extérieurs.
+ Développer une véritable « Politique Européenne de Sécurité Financière des PME » en mettant en œuvre des outils européens de garantie des financements et des crédits bancaires aux petites et moyennes entreprises.

[format] => 1
)

)

[field_environnement] => Array
(
[0] => Array
(
[value] =>

* Continuer le combat pour l'environnement :
o Assurer le suivi des objectifs fixés et l’application des textes adoptés sous présidence française sur tous les sujets : eau, biodiversité, transport, produits chimiques, déchets…
o Développer les initiatives durables comme les énergies renouvelables marines, le ferroutage et le transport maritime et fluvial, la mise en place des trames vertes et bleues par les Etats sur l’ensemble du territoire européen.
o Leadership dans la lutte contre la déforestation au niveau international, notamment par le recours au marché du carbone et en soutenant la mise en place d'un mécanisme de financement international de gestion durable pour préserver les stocks forestiers.
o Associer nos partenaires à la lutte contre le changement climatique, notamment les Etats-Unis, à des résultats décisifs lors du prochain sommet mondial sur le climat de Copenhague (décembre 2009).
* Protection contre les catastrophes :
o Mettre en place une force de protection civile en mutualisant des équipes nationales, capable de faire face aux grandes catastrophes sur le territoire européen, et d’apporter un secours organisé à d’autres pays dans le monde, à la demande des Nations Unies
o Créer à l’échelle européenne un fonds de solidarité pour venir en aide aux citoyens européens résidant ou voyageant hors des frontières de l’Union et victimes de catastrophes naturelles ou de crises géopolitiques.
* Proposer un « Stockholm de l’environnement » : grand débat européen de l’ensemble des acteurs sur la question du développement durable et de l’éco-croissance, sur le modèle du Grenelle en France.
* Définir les secteurs stratégiques où l’Europe devra concentrer ses investissements et qui bâtiront cette « éco-croissance » comme l’éducation, la santé, l’énergie, l’eau, la forêt et le bois, les transports, les déchets, le bâtiment, le développement durable, l‘alimentation et les services à la personne.

[format] => 1
)

)

[field_securite] => Array
(
[0] => Array
(
[value] =>

* Instaurer des instruments de coopération policière qui pourront être déclenchés simultanément par deux pays européens voisins comme des plans Alerte enlèvement nationaux ou le réseau Euronet de lutte contre la cybercriminalité face à une criminalité qui ne connaît plus de frontières.

* Renforcer nos frontières, préalable nécessaire à la lutte contre les différentes formes de crime organisé.
* Surveillance maritime systématique, chaînon manquant de la sécurité de nos côtes

[format] => 1
)

)

[field_services_publics] => Array
(
[0] => Array
(
[value] =>

* Défendre et clarifier le champ des services publics auxquels nous tenons, en particulier les services sociaux, afin d’éviter l'application de règles aveugles de concurrence

[format] => 1
)

)

[field_culture] => Array
(
[0] => Array
(
[value] =>

Un Espace commun européen de la culture pour stimuler la création :

* Mettre en œuvre le droit de propriété intellectuelle dans l'environnement numérique
* Ajuster le taux de TVA des biens culturels : disques, vidéos… à celui des livres (5,5%).
* Créer en France une Université Européenne des Arts pour accompagner le parcours européen des jeunes artistes, en favorisant la mobilité et les échanges.
* Bâtir une véritable industrie cinématographique et audiovisuelle européenne en faisant avancer les dispositifs favorisant les coproductions et leurs financements, en favorisant la création de pôles techniques de haut niveau.
* Mettre en valeur notre patrimoine commun par une labellisation des monuments européens, facteur d’identité, mais aussi source d’attractivité et de développement pour les territoires.
* Editer un manuel d’histoire européen pour permettre aux jeunes générations de mieux s’approprier ce bagage collectif.

[format] => 1
)

)

[field_jeunesse_sports] => Array
(
[0] => Array
(
[value] =>

* Innovation :

* Définir des critères obligatoires pour les dépenses publiques et privées en matière d’innovation et de recherche, aussi ambitieux que pour les finances publiques, plus contraignants qu’une simple « feuille de route ».
* Mutualisation croissante des budgets nationaux, partenariats publics-privés et extension du crédit impôt-recherche mis en place en France par N. Sarkozy.
* Réorienter massivement ces crédits vers les secteurs d’avenir : nanotechnologies, santé, biodiversité, énergies renouvelables, matériaux, transports ou les Technologies de l’Information et de la Communication.
* Bâtir un véritable « Espace européen de la recherche » qui favorisera les échanges entres sites et entre chercheurs et protégera les innovations par la mise en place du brevet communautaire.

# Jeunesse :

* Créer un Pass’Europe, sous forme de chèques vacances pour les jeunes de 18 à 25 ans, offrant des réductions en matière de transport, de logement et proposant également un accès gratuit aux musées des capitales européennes.
* Elargir la base des programmes orientés vers la jeunesse ; notamment le service volontaire européen (SVE).
* Axer en particulier les missions sur l’action humanitaire, la protection de l’environnement ou la restauration du patrimoine.

# Harmoniser les cursus universitaires européens :

* Mener à bien une deuxième étape du « processus de Bologne », après la réforme Licence-Master-Doctorat, pour la construction d’un espace européen de l’enseignement supérieur notamment en mettant en œuvre les outils européens nécessaires pour généraliser l'accès à la mobilité, Erasmus pour les étudiants mais aussi pour les enseignants, pendant tout parcours de formation.
* Soutenir la création de diplômes conjoints, bilingues, entre universités européennes.
* Développer le trilinguisme dans tous les systèmes éducatifs de l’Union.

[format] => 1
)

)

[field_emploi_social] => Array
(
[0] => Array
(
[value] =>

* Combler le fossé en matière de normes sociales entre Etats pour ériger un marché du travail plus cohérent
* Garantir la reconnaissance de la sauvegarde de nos modèles sociaux nationaux
* Constuire un dialogue social européen avec les partenaires sociaux pour améliorer les conditions de travail, notamment avec la mise en place du comité d'entreprise européen
* Programmes de mobilité en Europe pour les apprentis, chercheurs, élus locaux, jeunes exclus du système scolaire, militaires, séniors...

[format] => 1
)

)

[field_agriculture] => Array
(
[0] => Array
(
[value] =>

* Maintenir une PAC forte et adaptée aux enjeux d’aujourd’hui : sécurité sanitaire, contribution aux besoins alimentaires mondiaux, environnement et dynamismes des territoires après 2013
* Exiger la réciprocité et promouvoir ces exigences de qualité et de durabilité auprès de nos partenaires commerciaux vis-à-vis des produits alimentaires qui rentrent dans l’Union. Des programmes de coopération devront notamment viser à promouvoir nos indications géographiques qui valorisent l’origine et la qualité et notre système sanitaire fondé sur des contrôles à toutes les étapes de production.
* Promouvoir une pêche européenne durable, en renforçant la concertation et la lisibilité sur la mise en place des quotas, instaurant un véritable dialogue entre scientifiques et pêcheurs et mettant en œuvre les conclusions adoptées à l’unanimité sous présidence français pour une aquaculture européenne.
* Développer à l’échelle européenne une politique qui protège et valorise nos forêts et encourage l’utilisation du bois matériau dans les constructions.

[format] => 1
)

)

[field_justice] => Array
(
[0] => Array
(
[value] =>

Garantir à tous les citoyens d'Europe les mêmes droits et mêmes protections d’un pays à l’autre :

* Reconnaître et exécuter rapidement et facilement les décisions de justice d'un pays à l'autre, pour plus de sécurité juridique.
* Adopter le traité de Lisbonne pour rendre juridiquement contraignante la Charte des Droits fondamentaux.
* Proposer la création d’une nouvelle commission permanente au sein du Parlement européen en charge de la lutte contre la pauvreté et l’exclusion.
* Lutter contre toutes les formes de discrimination.
* Instaurer une carte d’invalidité réellement européenne qui reconnaisse le handicap de la même manière dans tous les pays.
* Intégrer l’accessibilité des infrastructures dans les plans de relance.
* Développer des structures d’accueil pour les tout petits comme pour les personnes du 4ème âge via le fond de développement FEDER et en développant les partenariats publics-privés (PPP).
* Eriger un espace européen de l’adoption :
o en définissant très clairement l’obligation de déclaration de l’enfant à l’état civil dès sa naissance,
o en favorisant l’adoption vers un autre pays européen en l’absence de solution nationale,
o en réduisant les délais d’instruction des dossiers d’adoption entre les États européens,
o en facilitant le suivi et la transmission d’informations du pays d’accueil vers le pays d’origine de l'enfant après l’adoption.
* Faire progresser le droit de la famille pour adopter rapidement des règles harmonisées

[format] => 1
)

)

[field_institutions] => Array
(
[0] => Array
(
[value] =>
[format] =>
)

)

[field_etranger] => Array
(
[0] => Array
(
[value] =>

* Donner au prochain Haut Représentant pour l’Union européenne la capacité de mener une action diplomatique efficace par la mise en œuvre rapide du traité de Lisbonne.
* Développer sur une base volontaire la coopération consulaire et dans ce cadre assurer une meilleure assistance et une meilleure sécurité à nos compatriotes vivants en dehors de l’Union.
* Construire avec nos voisins (Turquie, Russie) un espace économique et humain commun dans un véritable partenariat pour partager la même sécurité, la même prospérité.
* Mutualiser une partie de nos forces militaires de manière « autonome et complémentaire » de l’OTAN pour développer des capacités d’intervention et de renseignement à la hauteur des nouvelles formes de vulnérabilité (terrorisme, prolifération des armes, sécurité énergétique, narcotrafics…) selon les conclusions adoptées sous présidence française.

* Renforcer nos capacités industrielles militaires, pour rendre notre armement plus moderne et interopérable, notamment en proposant à ceux de nos partenaires qui y sont prêts d’étendre la programmation des équipements militaires.
* Se doter de capacités pour lancer rapidement des opérations là où nos intérêts sont menacés, comme nous l’avons montré au large des côtes somaliennes avec l’opération Atalante contre la piraterie.
* L'Union pour la Méditerranée :
o Nos relations avec les pays du Sud doivent être fondées sur un dialogue politique partenarial, exigeant ainsi que sur la construction de solidarités économiques de fait.
o Commerce, migrations, sécurité, changement climatique, sécurité alimentaire sont autant d’enjeux partagés pour un destin commun de part et d’autre de la Méditerranée.
o Investir ensemble dans des projets en matière de développement rural, d’accès à l’eau, de sécurité sanitaire, de dépollution, d’autoroutes maritimes, d’énergies renouvelables, d’infrastructures, de recherche.
o Faire bénéficier les pays de l’Est de l’Europe de l’expérience des projets mis en place dans le cadre de l’Union pour la Méditerranée en favorisant les transferts d’expérience dans le cadre du Partenariat oriental mis en route le 7 mai.
* Valoriser l'outre-mer :
o Préserver la prise en compte des spécificités de l’Outre-mer dans toutes les politiques européennes.
o Identifier et valoriser les apports de l’Outre-mer à la construction du nouveau modèle d’écocroissance : biodiversité, santé et pharmacie, photovoltaïque….
o Défendre les intérêts commerciaux des productions Outre-mer dans les négociations commerciales, par une préférence communautaire assumée.
* Pays du Sud :
o Replacer l’agriculture en tête de l’agenda de coopération et favoriser la souveraineté alimentaire des pays les plus pauvres. Nous proposons d’améliorer notre politique d’aide au développement en soutenant de véritables projets régionaux agricoles intégrés en Afrique, afin de reconstruire les économies agricoles ainsi que la sécurité alimentaire et sanitaire du continent.

[format] => 1
)

)

[field_immigration] => Array
(
[0] => Array
(
[value] =>

Seule une immigration légale peut permettre une intégration réussie :

* Politique d’immigration et d’asile ferme mais fidèle aux droits de l’Homme et respectueuse de la souveraineté des Etats, telle que portée par le pacte européen sur l’immigration et l’asile et adopté à l’unanimité sous présidence française, dont les objectifs sont les suivants :
o mieux organiser l’immigration légale
o lutter contre l’immigration clandestine
o renforcer l’efficacité des contrôles aux frontières extérieures
o bâtir une Europe de l’asile
o renforcer les synergies entre migration et développement

[format] => 1
)

)

[field_logo_parti] => Array
(
[0] => Array
(
[fid] => 134
[list] => 1
[data] => Array
(
[description] =>
[alt] =>
[title] =>
)

[uid] => 1
[filename] => ump.jpg
[filepath] => files/ump.jpg
[filemime] => image/jpeg
[filesize] => 4433
[status] => 1
[timestamp] => 1242718310
)

)

[field_logement] => Array
(
[0] => Array
(
[value] =>

* Développer des transports urbains propres : développement des voitures « vertes », des réseaux de prises électriques.
* Mise en œuvre d'un plan d’action sur la mobilité urbaine.
* Consolider des métropoles de dimension européenne à l’exemple du projet du « Grand Paris ».

[format] => 1
)

)

[field_sante] => Array
(
[0] => Array
(
[value] =>

* Plan européen de lutte contre la maladie d’Alzheimer et les maladies neurodégénératives en améliorant la prise en charge des personnes âgées atteintes (plus de 500.000 en France et plus de 6 millions en Europe) et en stimulant la recherche.

[format] => 1
)

)

[field_description_parti] => Array
(
[0] => Array
(
[value] => Union pour un Mouvement Populaire (UMP)
)

)

[field_transports] => Array
(
[0] => Array
(
[value] =>

Développer :

* le réseau européen de bornes de rechargement de la voiture électrique
* le ticket de métro européen interopérable d’une ville à l’autre, d’un mode de transport à l’autre
* la carte de crédit européenne
* la poursuite du développement des Réseaux de Transports Européens (RTE)

[format] => 1
)

)

[field_propositions] => Array
(
[0] => Array
(
[value] =>
[format] =>
)

)

[field_listes_parti] => Array
(
[0] => Array
(
[nid] => 151
)

[1] => Array
(
[nid] => 131
)

[2] => Array
(
[nid] => 118
)

[3] => Array
(
[nid] => 57
)

[4] => Array
(
[nid] => 152
)

[5] => Array
(
[nid] => 150
)

[6] => Array
(
[nid] => 149
)

[7] => Array
(
[nid] => 44
)

)

[path] => européennes-2009/les-partis/ump-union-pour-un-mouvement-populaire
[print_display] => 1
[print_display_comment] => 0
[print_display_urllist] => 1
[print_mail_display] => 1
[print_mail_display_comment] => 0
[print_mail_display_urllist] => 1
[print_pdf_display] => 1
[print_pdf_display_comment] => 0
[print_pdf_display_urllist] => 1
[last_comment_timestamp] => 1242718311
[last_comment_name] =>
[comment_count] => 0
[parent] => 203
[order_by] => 2
[0] =>
[taxonomy] => Array
(
)

)

;

En gros la variable que tu appelles n'existes pas à ce niveau encore apparemment. Il faut que tu utilises plutôt

<?php
$node
->field_environnement[0]['value'];
?>

A noter qu'il me semble que cela peut être une faille de sécurité si ce n'est pas toi qui rentre ce texte, il faut sans doute que par précaution tu utiliser la fonction check_plain :

<?php
echo check_plain($node->field_environnement[0]['value']);
?>

Salut
C'est bon ça marche, mais...
Quand je n'utilise pas check-plain, c'est parfait, mais il y faille de sécurité. Par contre, quand j'utilise check plain, au lieu de m'afficher la même chose, il m'affiche le code html avec toutes les balises... ce qui est normal, puisque 'value' veut bien dire ce que ça veut dire... En effet, mon champ est en html filtré..;
Y aurait-il une alternative ?
Merci encore.

hello
en fait je connais encore très mal le fonctionnement des filtres dans drupal... peut être que ça ne pose aucun probleme d'accéder directemenent à la variable sans traitement. Une chose est sure c'est que si c'est TOI qui entre le contenu du node que tu vas chercher, tout ça n'a pas d'importance... (sauf si tu te pirates toi même mais bon on va partir du principe que tu n'as pas une double personnalité)

Je vais être honnête : je n'en sais rien ! En fait quand j'ai un doute sur ce genre de truc je fais un truc tout simple : je rentre un texte contenant du code "malicieux" : j'essaie de mettre du php, du javascript, bref je mets tout ce que je ne veux PAS voir apparaitre sur mes pages web, ce que je ne veux pas que l'utilisateur puisse rentrer dans un formulaire et afficher sur le site.

Comme je connais mal cet aspect de drupal, je ne peux que te conseiller ce test pragamatique : si tu vois que le code php n'est pas exécuté (un coup de echo 'coucouc' par ex comme plus haut), si les trois quarts des balises html sont supprimées par drupal, si le javascript n'est pas interprété etc... c'est que drupal a déjà fait en amont le travail de filtrage.

Sur drupal 5 il était bien précisé dans contemplate que certains variables devaient être traitées par check_plain (elles ont deux étoiles rouges), d'où mon avertissement.

Sur D6 aussi ils mettent les 2 étoiles et me génèrent un check_plain. Le problème c'est que je voulais qu'il me traite les balises...
Bon, je pense que je vais prendre le risque et ne pas mettre le check_plain.
Le danger vient-il de pirates "manuels" ou de robots ?