Bagaimana cara menghapus dan membangun kembali menu drupal sepenuhnya?

9

Beberapa waktu yang lalu saya menemukan posting blog keren yang menjelaskan cara mengosongkan tabel menu, dan membangun kembali sistem menu dengan panggilan php drush, suatu keharusan karena situs tersebut tidak dapat digunakan setelah mengosongkan tabel mysql tersebut. Dengan cara ini, Anda dapat mengatur ulang menu seperti situs Drupal baru.

Adakah yang bisa merinci teknik ini atau Anda memiliki tautan untuk blog itu?

giorgio79
sumber
Apakah Anda berbicara tentang membersihkan cache menu?
Anil Sagar
Tidak, membersihkan cache menu tidak cukup untuk memperbaiki menu yang rusak. Terkadang menu menjadi kacau. Terutama menu administrasi.
giorgio79
Kenapa -1? Itu pertanyaan yang valid. +1 untuk menetralkan.
aendrew
Bagaimana menu-menu ini dibuat? Saya bertanya karena jika mereka dibuat oleh modul, maka Anda akan dapat menonaktifkan modul. Itu harus menghapus item menu yang menyinggung. Jika Anda menghapus dari database dan kode untuk membuat ini masih ada, mereka bisa muncul lagi.
Rick

Jawaban:

6

Saya telah mencari solusi untuk masalah untuk membangun kembali menu Drupal sampai saya menemukan masalah Drupal yang membantu saya. Solusi saya (dalam skrip php) adalah sebagai berikut:

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

Ini juga bisa dilakukan dengan memasukkan kueri melalui phpmyadmin atau yang serupa:

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

Dan kemudian membangun kembali struktur menu. Jika Anda menggunakan modul devel, Anda dapat mencapainya dengan mengunjungi halaman /devel/menu/reset. Jika Anda tidak memiliki modul devel, saya tidak yakin bagaimana cara membangun kembali struktur menu.

Jangan lupa untuk membuat cadangan basis data Anda sebelum Anda mencoba ini.

yan
sumber