Salut
Je suis toute étourdie de buter encore sur des choses aussi simples.
Je voudrais afficher mon contenu "taxomisé" comme indiqué sur http://drupalfrance.com/node/109 soit la méthode 2.
D'un côté les rubriques. Dans un autre bloc les sous-rubriques.
J'ai créé un vocabulaire et des termes de cette façon :
vocabulaire
-term1 taxonomy/term/1
--term2 taxonomy/term/2
--term3 taxonomy/term/3
-term4 taxonomy/term/4
-term5 taxonomy/term/5
term1/term4 et term5 sont dans mes primary_link et je voudrais que les sous-termes présents et futurs s'affichent dans un bloc "Sous-rubriques" créé pour l'occasion.
J'ai collé ce code là :
<?php
$rub_path = 'taxonomy/term/1'; // Remplacer 'node/38' par le chemin de votre
// première rubrique (définie à l'étape 1)
$tid = 1; // Remplacer 56 par l'id de taxonomie
// correspondant à votre première rubrique.
// Si on n'est pas sur la rubrique en cours ni une sous-rub,
// on n'affiche rien.
if ($_GET['q'] != $rub_path && arg(0) != 'taxonomy') return;
// Si on est sur une sous-rubrique :
if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
// et qu'elle ne dépend pas de la rubrique en cours, on n'affiche rien.
$parent = db_result(db_query('SELECT h.parent
FROM {term_hierarchy} h WHERE h.tid = %d', arg(2)));
if ($parent != $tid) return;
}
// Si on est arrivé à ce stade, on est sur la rubrique
// en cours ou une de ses sous-rubriques : on affiche !
$items = array();
$result = db_query('SELECT t.tid, t.*, parent FROM {term_data} t
INNER JOIN {term_hierarchy} h ON t.tid = h.tid
WHERE parent = %d ORDER BY weight, name', $tid);
while ($term = db_fetch_object($result)) {
$items[] = l($term->name, 'taxonomy/term/'.$term->tid);
}
print theme('item_list', $items);
?>Je pensais avoir compris le principe, et bien neni !
Help ? Merci ! :)
Joined: 2007-06-09
Un petit [up] au passage, on m'en voudra pas après tout ces jours ;)
Un petit [résolu] dans le titre de vos sujets de forum ?
Vos avis sur Drupalfr.org
Drupalfr.org est aussi sur freenode à #drupalfr.org