Come cancellare e ricostruire completamente i menu di Drupal?


9

Qualche tempo fa ho trovato un interessante post sul blog che spiegava come svuotare le tabelle dei menu e ricostruire il sistema dei menu con una chiamata php phush, una necessità poiché il sito sarà inutilizzabile dopo aver svuotato quelle tabelle mysql. In questo modo, è possibile ripristinare i menu come se fosse un nuovo sito Drupal.

Qualcuno può dettagliare questa tecnica o hai il link per quel blog?


Stai parlando di svuotare la cache dei menu?
Anil Sagar,

No, la pulizia della cache dei menu non è sufficiente per correggere un menu confuso. A volte i menu vengono incasinati. Soprattutto il menu di amministrazione.
giorgio79,

Perché il -1? È una domanda valida + 1'ing per contrastare.
aendrew

Come sono stati creati questi menu? Chiedo perché se fossero stati creati da un modulo, allora potresti disattivare il modulo. Ciò dovrebbe rimuovere le voci di menu offensive. Se rimuovi dal database e il codice per crearli esiste ancora, potrebbero comparire di nuovo.
Rick,

Risposte:



6

Ho cercato per un po 'una soluzione al problema di ricostruire i menu di Drupal fino a quando non mi sono imbattuto in un problema di Drupal che mi ha aiutato. La mia soluzione (in uno script php) è la seguente:

db_query("DELETE FROM {menu_links} WHERE module = 'system'");
db_query("DELETE FROM {menu_links} WHERE menu_name = 'management'");
menu_rebuild();

Questo potrebbe essere fatto anche inserendo le query tramite phpmyadmin o qualcosa di simile:

DELETE FROM {menu_links} WHERE module = 'system'
DELETE FROM {menu_links} WHERE menu_name = 'management'

E poi ricostruire la struttura del menu. Se usi il modulo di sviluppo, puoi farlo visitando la pagina /devel/menu/reset. Se non hai il modulo di sviluppo, non sono sicuro di come ricostruire la struttura del menu.

Non dimenticare di eseguire il backup del database prima di provare questo.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.