Bonjour à tous,
J’utilise Custom Breadcrumbs pour mes fils d’ariane et je souhaiterais personnaliser ceux-ci en fonction des term de taxonomy attribués aux articles.
Dans le champ «Breadcrumb visibility» on peut préciser une requête PHP qui va conditionner l’affichage ou non du fil d’Ariane.
Mon problème c’est que je suis novice en PHP et la syntaxe me pose problème…
Après quelques recherches, j’ai fait un test concluant avec ce code :
return ($node->nid == 2) ;
Le résultat : le fil d’Ariane ne s’affiche que sur le node dont l’ID = 2.
Dans la même logique je voudrais que la requête cherche plutôt si le term de taxonomy dont l’id = 9 est associé au node ou pas. Quelle est la requête PHP à utiliser pour ça ?
Si vous pouviez me donner un coup de main ou une référence compréhensible sur la manière de rédiger des requêtes simples de PHP avec le bon vocabulaire Drupal … ça serait cool !
Merci
Jean-Guy
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Je ne connais pas le module Custom Breadcrumbs ni ta configuration, mais tu peux essayer quelque chose comme
<?phpif(arg(0) == 'node') {
$tid = '9' ;// identifiant du terme recherché
$result = db_result(db_query("SELECT COUNT(nid) FROM {term_node} WHERE tid = %d AND nid = %d", $tid, arg(1)));
if($result == '1') {
return TRUE;
} else {
return FALSE;
}
}
?>
bellesmanieres
92
en continuant mes recherches j’ai finalement trouvé la requête :
return (isset($node->taxonomy[65])) ;
où 65 est l’id du term que l’on souhaite utiliser. Ca marche !
cela dit j’ai maintenant le même problème pour les node privés. j’utilise le module «private» et je souhaite afficher un fil d’ariane spécifique sur les nodes privés.
Il faut donc que je modifie cette satanée requête PHP.
J’ai essayé : return (isset($node->private)) ;
mais c’est un échec, c’est sûrement trop simple … une piste peut-être ?
jeanguy
21
C’est effectivement beaucoup mieux que ce que je proposais…
pour le private essaie return($node->private);ou genre
($node->private) ? return TRUE : return FALSE ;
bellesmanieres
92
ça fonctionne très bien avec :
return($node->private) ;
merci pour le coup de main, pas facile de comprendre la syntaxe PHP en tant que débutant et de «deviner» les termes qu’utilise Drupal … mais ça va venir !
en tous cas j’ai de beaux fils d’Ariane, merci :)
jeanguy
21