Question

Je suis en train de créer un petit système de réservation. vous pouvez créer des noeuds d'un type qui peut être reservated, comme un projecteur. J'ai une vue de calendrier avec des écrans normaux. J'ADDES un argument pour la référence du noeud, mais j'ai des problèmes définissant le rappel de page. aider quelqu'un peut me sortir?

Maintenant, je veux créer des éléments de menu pour les différents nœuds

function your_module_menu() {
$nodeid //semantic, node is loaded right
    $items['reservate/nodeid/$year-w$week'] = array( // semantic, url is built right
        'title' => t('Your Module Name'),
        'description' => t('Menu's description.'),
        'page callback' => 'page_callback_funtion',
        'page arguments' => array('page callback arguments'),
        'access callback' => 'your_module_access',           // the function that validates access based on the user's role(s).
        'access arguments' => array(array(role1', 'role2')), // list of roles authorized - note nested array.
        'type' => MENU_NORMAL_ITEM,
    );
    return $items;
}

@EDIT

ok, peut-être que je ne l'ai pas bien expliquer :). J'ai un type de contenu: unité, qui peut être réservée. pour chaque unité que je crée, je veux générer un élément de menu (je peux faire un menu à la reconstruction sur le noeud de sauvegarde ou mise à jour). le menu doit être liée à une vue, avec l'identifiant de noeud (unité) comme un argument dans l'URL.

Était-ce utile?

La solution 3

J'ai trouvé un moyen très simple de le faire, je viens de créer une vue bloc qui crée les liens avec des filtres.

simple et exactement ce que je avais besoin, ne semblent pas comprendre pourquoi je ne pensais pas que plus tôt

Autres conseils

Je ne sais pas exactement ce que vous essayez de faire, mais si votre objectif est de créer un élément de menu, et non une nouvelle page que vous définissez dans votre module personnalisé, vous devez utiliser le système de menu dans Drupal. Vous pouvez créer des éléments de menu pointant vers une URL qui existe sur votre site.
Pour les nœuds ce qui est particulièrement facile, puisque vous pouvez le faire directement dans le nœud modifier / créer la forme.

Drupal met en cache les menus, vous ne pouvez pas créer des éléments de menu avec des parties dynamiques en eux, comme les utilisateurs id etc. Si vous voulez faire quelque chose comme ça, vous devez créer un rappel commun qui soit redirige l'utilisateur vers la contenu url dynamique ou affichage en fonction de l'utilisateur.

Mise à jour

Au lieu d'avoir à reconstruire le système de menus à chaque fois qu'un noeud est créé ou supprimé, ce qui ne sera pas très évolutive, vous pouvez au lieu simplement créer le nouvel élément de menu, avec hook_nodeapi , et supprimez-le quand il est supprimé.

Si je comprends bien, vous essayez de créer automatiquement un élément de menu à chaque fois un nouveau nœud de contenu de type « unité » est ajouté. Si cela est exact, je suggère d'utiliser les règles du module et un petit bout de PHP pour un élément de menu personnalisé créé sur divers événements système, tels que la création de contenu. Vous pouvez trouver le tutoriel que j'ai écrit sur ce sujet utile:

http://jan.tomka.name/blog/programmatically- création-éléments de menu -drupal

L'idée est simple:. Mettre en place une règle dans le module Règles pour une action à tirer à la création de noeud ou la suppression et utiliser les appels API Drupal que googletorp a mentionné pour manipuler réellement les éléments de menu

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top