2010-07-27 4 views
1

Dans un développement de module (webtv), je fournis un bloc générique qui peut être configuré pour son contenu (playlists). Sur le formulaire de configuration, il y a une liste de contenus ajoutés (listes de lecture) ainsi que des liens "ajouter une nouvelle liste de lecture" et "éditer" celui existant placé à côté de chaque entrée. Comme le chemin de configuration du bloc est: "admin/build/block/configure/[mon_module_name]/[block_delta]".Pièces de menu Drupal excessives

Je me attends à ajouter/modifier sous forme de liste de lecture sur une page séparée et devrait être accessible sur: admin/build/block/configure/[my_module_name]/[block_delta]/playlist/ajouter et admin/build/block/configure/[mon_module_name]/[block_delta]/playlist/[playlist_id]/éditer

Pour cela, j'ai ajouté deux entrées dans hook_menu avec le rappel de la page comme drupal_get_form et l'argument page comme fonction de définition de formulaire. Après la suppression du cache et l'exécution de cron, les liens ne permettent pas à la playlist du serveur d'ajouter/de modifier la page, mais redirigent la navigation vers la page de configuration.

Qu'est-ce que je fais mal? Est-il possible d'étendre la page de configuration du bloc en sous-pages?

+1

Ajout dans votre code hook_menu serait plus facile de diagnostiquer le problème que vous ayant. – jhedstrom

Répondre

0

Les parties de menu maximum autorisées dans une URL drupal (6) sont limitées à 7. Dans mon problème, j'ai cité des chemins avec 8 et 9 parties qui étaient le problème.

admin/build/block/configure/[my_module_name]/[block_delta]/playlist/add 
admin/build/block/configure/[my_module_name]/[block_delta]/playlist/[playlist_id]/edit 

Dans Drupal 7 la limite est étendue à 9.

Il peut être modifié manuellement dans le fichier drupal/includes/menu.inc comme define('MENU_MAX_PARTS', 12);

+0

Hacking core est le 8ème péché mortel dans Drupal, donc je le déconseille fortement. – wonder95

Questions connexes