2009-10-20 8 views
1

Dans Drupal j'ai le type de contenu de page. J'ai créé un vocublary et les termes il une heirachy comme ci-dessous:Drupal Conent sous forme de menu

  • Oiseau
  • mammifères
    • Dog
      • Caniche
      • bouledogue
    • Cat
      • Tiger
    • Lapin
  • Reptile
    • Lizard

je choisis le terme lorsque je crée un type de contenu. Je souhaite afficher toutes les pages qui ont ce type conent dans un menu (liste non ordonnée) en conservant l'heirachy ci-dessus. Est-ce possible? Quels modules utiliseriez-vous pour faire cela?

Répondre

1

Vous pouvez utiliser le module taxonomy_menu.

La page du module: http://drupal.org/project/taxonomy_menu

Ce module rend un vocabulaire dans un menu. Si ce n'est pas ce dont vous avez besoin (par exemple, si vous voulez afficher ce vocabulaire dans un contenu de nœud), je pense que vous devez écrire un module simple qui se déclenche dans hook_nodeapi().

+0

Le module ne semble pas faire ce dont j'ai besoin, alors il me semble que je devrais écrire quelque chose pour moi-même. – Rupert

+0

Qu'est-ce qu'elle ne fait pas dont vous avez besoin? –

+0

OP veut que les nœuds eux-mêmes soient affichés dans un arbre, pas un menu des termes dans un arbre. – googletorp

1

Avec le views vous seriez en mesure d'aller très loin dans cette affaire, mais je ne suis pas sûr que cela en vaille la peine dans ce cas. La chose avec des vues, c'est qu'il peut être un peu difficile de générer le balisage que vous voulez. Avec les vues c'est possible pour créer n'importe quel type de balisage que vous voulez, et le faire afficher ce que vous voulez. Cependant, parfois, le travail requis pour y arriver n'en vaut pas la peine, simplement en créant votre propre module pour le faire.

Vous devriez d'abord regarder dans les vues et voir si vous pouvez obtenir ce que vous voulez.

Si vous n'êtes pas en mesure d'obtenir ce que vous voulez, je pense que la création de votre propre module personnalisé est la voie à suivre. Je ne sais pas s'il y a une fonction api pour obtenir les nœuds, mais il faudrait une requête assez simple pour les obtenir. Ensuite, vous avez le pouvoir de créer le balisage exactement comme vous le souhaitez. Vous pouvez simplement créer une fonction de thème pour faire tout ce que vous pouvez appeler dans votre thème.

+0

Avec les vues, il ne me semble pas possible de conserver la structure de mon type de contenu. Peut-être que je vais à ce sujet dans le mauvais sens ... – Rupert

+0

Je pensais que ce serait le cas, mais cela valait la peine d'être vérifié.La chose la plus simple pour obtenir ce que vous voulez est de faire un petit module personnalisé pour faire la tâche. – googletorp

+0

Personnellement, je pense que la racine du menu que nous allons est faux, je vais réfléchir et voir si je peux trouver quelque chose de mieux. – Rupert