Domanda

Io sono la creazione di un sistema di piccola riserva. è possibile creare nodi di un tipo che può essere prenotata prima, come un proiettore. Ho una visione del calendario con display normale. I Addes un argomento per il riferimento nodo, ma ho problemi definiscono la pagina richiamata. Qualcuno può darmi una mano?

Ora voglio creare voci di menu per i diversi nodi

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, forse non mi spiego bene :). Ho un tipo di contenuto: unità, che può essere riservato. per ogni unità creo, voglio generare una voce di menu (che posso fare un menu di ricostruire sul nodo salva o si aggiorna). il menu deve essere collegato a una vista, con l'ID del nodo (unità) come argomento nella URL.

È stato utile?

Soluzione 3

Ho trovato un modo molto semplice per farlo, ho appena creato una visione di blocco che crea i legami con alcuni filtri.

semplice ed esattamente quello che mi serviva, non riesco a capire perché non ci ho pensato che prima

Altri suggerimenti

Non sono sicuro di cosa esattamente si sta cercando di fare, ma se il tuo obiettivo è quello di creare una voce di menu, e non una nuova pagina che si definisce nel vostro modulo personalizzato, è necessario utilizzare il sistema di menu in Drupal. È possibile creare voci di menu che punta a qualsiasi URL che esiste sul tuo sito.
Per i nodi questo è particolarmente facile, dal momento che è possibile farlo direttamente nel Modifica nodo / creare la forma.

Drupal memorizza nella cache i menù, quindi non è possibile creare voci di menu con le parti dinamiche in loro, come l'utenti id ecc Se si vuole fare una cosa del genere, è necessario creare un callback comune che sia reindirizza l'utente al URL dinamico o la visualizzazione di contenuti in base all'utente.

Aggiorna

Invece di dover ricostruire il sistema di menu ogni volta che un nodo viene creato o eliminato, che non sarà molto scalabile, si potrebbe invece semplicemente creare la nuova voce di menu, con hook_nodeapi , ed eliminarlo quando è cancellato.

Se ho capito bene, si sta cercando di creare automaticamente una voce di menu ogni volta che viene aggiunto un nuovo nodo contenuto di tipo "unità". Se questo è corretto, io suggerirei utilizzando le regole di modulo e un minuscolo frammento di PHP di avere una voce di menu personalizzata creata su vari eventi di sistema, come ad esempio la creazione di contenuti. Si possono trovare il tutorial che ho scritto su questo argomento utile:

http://jan.tomka.name/blog/programmatically- la creazione del menu-items-Drupal

L'idea è semplice:. Impostare una regola nel modulo Regole per un'azione da fuoco contro la creazione del nodo o la cancellazione e utilizzare le chiamate API che Drupal googletorp ha menzionato realmente manipolare le voci di menu

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top