Créer son propre menu déroulant vertical

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.

Bonsoir à tous,

J'ai installé la version 6.20 de Drupal. Tout fonctionne bien, j'ai créée mon propre thème sans problème.

Seulement, je souhaite créer mon propre menu déroulant vertical sur Drupal.
J'utilise l'outil de gestion des menus de Drupal 6.20 pour créer l'arborescence.

Ensuite, je récupère manuellement les ID des menus parents pour ensuite créer une liste

.

Voici le code que j'ai inseré dans ma page.tpl.php :

    <?php
                                   mysql_connect
    ("localhost","root","") or die(mysql_error());
    mysql_select_db("drupal") or die(mysql_error());

    $requete = mysql_query("SELECT * FROM menu_links WHERE p1 = '138' ") or die(mysql_error());
    while (
    $donnees = mysql_fetch_array($requete)){
    ?>

  • <?php
     echoutf8_encode
    ($donnees['link_title']);
    ?>

  • <?php
    }
    ?>

Mais voilà, ce code ne génère rien (alors qu'il en a généré sur une autre version test)...

Que faire ?

Forum : 
Version de Drupal : 

L'erreur se situe dans ta requête SQL. Je pense que tu n'a pas de résultat pour celle-ci donc logique qu'il n'affiche rien.
Je ne vois pas ce que signifie ce "138" placé dans ta requête o_0 .
Pour moi le but est de récupérer les termes parents et pour chaque terme parent récupérer les enfants et ainsi de suite (boucle récursive du coup mais bon passons).
Du coup la tu ne recupère que les enfant pour l'entrée de menu 138 qui n'existe peut être pas d'ailleur. Donc il ne te renvoi rien.

Nice menu permet de créer des menu deroulant donc peut être l'utilisé au lieu de t'embarquer dans un code complexe et lourd a produire. Surtout que tu peux assez facilement modifier le CSS de ce module pour avoir des résultats satisfaisant en peu de temps.
Cordialement, Aya

Edit: Et par pitié il y a des fonction drupal pour faire des requetes alors faut les utiliser. Comme le test de la base inutile car deja tester par drupal avant d'arriver sur ton template.

Avec l’expérience je pense qu'il ne faut pas trop s'écarter des spécifications de L'API drupal en voulant faire soit même ses propres trucs.

Je te conseil le module superfish qui te permet de gérer tes menus à l'horizontal à la vertical et tout ça sur plusieurs niveaux.

ça vaut le détour...