Domanda

Ho ereditato un sito Drupal5 e mi è stato assegnato il compito di apportare alcune modifiche, ma non riesco a capire da dove iniziare a cercare.

In molte pagine è disponibile un menu per gli amministratori che consente di eseguire determinate azioni:

Panoramica Specializzati Risorse e strumenti Nel campo notizia eventi corsi Multimedia modificare Traccia Flusso di lavoro Impostazioni

Tuttavia, in alcune sezioni, ci sono diverse opzioni: Anteprima disposizione impostazioni Impostazioni di Layout Avanzate Contesto Soddisfare Esporta

Devo aggiungere (Modifica, Traccia, Flusso di lavoro, Impostazioni) al secondo menu, ma non sono sicuro su come farlo.

Vedo in page.tpl.php che esiste una regione per $ tabs, ma non riesco a capire come questo viene creato.

Da quello che posso dire, il tema si basa sul tema Zen STARTERKIT.

È stato utile?

Soluzione

La variabile $ tabs viene normalmente popolata con voci di menu di tipo MENU_LOCAL_TASK .

Dai un'occhiata al sistema di menu , e in particolare a hook_menu () per avere un'idea di base. Si riduce a una mappatura delle funzioni di callback ai percorsi. Se un URL corrisponde a un percorso definito in hook_menu (può contenere segnaposto!), La funzione di callback registrata per quel percorso verrà chiamata per generare il contenuto per tale URL.

Il 'tipo' della voce hook_menu definisce il modo in cui la combinazione path / callback è rappresentata nel sistema. Può essere un MENU_CALLBACK , che significherebbe solo la combinazione di percorso / callback registrata, ma nessuna voce di menu 'reale' corrispondente. Un MENU_NORMAL_ITEM sarebbe lo stesso, ma con una voce di menu "standard", ad es. nel menu di navigazione. Un MENU_LOCAL_TASK è lo stesso, ma la voce di menu corrispondente di solito viene visualizzata nelle schede $ e non in un menu.

Tutti i MENU_LOCAL_TASK che condividono lo stesso percorso di base finiranno in un gruppo di schede. Quindi se avessi percorsi come:

  • un po '/ percorso / tab1
  • un po '/ percorso / tab2
  • un po '/ percorso / tab3

e tutti questi sono stati definiti come MENU_LOCAL_TASK , vedresti una scheda per ognuno di essi su ogni pagina che rappresentano.

Quindi, per trovare i luoghi che è necessario modificare / migliorare, è necessario cercare nella base di codice tutte le implementazioni hook_menu () che definiscono i percorsi in cui vengono visualizzate le schede. Si noti che non devono essere tutti definiti nello stesso posto, ma potrebbero provenire da diverse implementazioni hook_menu in moduli diversi. Quindi dovrai aggiungere le definizioni dei menu per le schede che desideri aggiungere, associando i percorsi pertinenti alle funzioni di callback. Le funzioni di callback restituiscono il contenuto delle pagine che l'utente dovrebbe vedere quando fa clic sulle schede.

Altri suggerimenti

Se stai visualizzando un nodo, di solito c'è già il collegamento Modifica nelle schede $, poiché non è presente che potrebbe essere qualcos'altro (una sorta di modulo di layout). Devi aggiungere le opzioni Modifica / Traccia per modificare / tracciare quale tipo di contenuto? Nodo specifico o cosa?

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