Як повністю стерти і відновити друпальські меню?


9

Нещодавно я знайшов класний пост в блозі, в якому докладно описано, як випорожнити таблиці меню та відновити систему меню за допомогою drush php-дзвінка. Таким чином, ви можете скинути меню так, як це був новий сайт Drupal.

Хтось може деталізувати цю техніку чи у вас є посилання на цей блог?


Ви говорите про очищення кешу меню?
Аніл Сагар

Ні, кеш-пам'ять меню недостатня для фіксації зібраного меню. Іноді меню псуються. Особливо меню адміністрації.
giorgio79

Чому -1? Це дійсне питання. + 1'ing для протидії.
aendrew

Як створювалися ці меню? Я запитую, тому що якщо вони були створені модулем, ви можете деактивувати модуль. Це повинно видалити ображені пункти меню. Якщо ви видалите з бази даних і код для їх створення, вони все ще можуть з’явитися.
Рік

Відповіді:



6

Я деякий час шукав рішення проблеми відновити меню Drupal, поки не натрапив на проблему з Drupal, яка допомогла мені. Моє рішення (в PHP-скрипті) таке:

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

Це також можна зробити, ввівши запити через phpmyadmin або щось подібне:

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

А потім відновити структуру меню. Якщо ви використовуєте модуль розробки, ви можете досягти цього, відвідавши сторінку /devel/menu/reset. У вас немає модуля розробки, я не впевнений, як відновити структуру меню.

Не забудьте зробити резервну копію вашої бази даних, перш ніж спробувати.


2

Можливо, це повідомлення: http://www.zyxware.com/articles/2454/how-to-rebuild-menu-links-table-and-rebuild-the-navigation-menu

DELETE FROM menu_links WHERE menu_name='navigation'

Потім перейдіть на сторінку модулів, і меню буде відновлено.

Я тестував у Drupal 6.


Дякую, я думав про ще одне, де блогер видалив кожне меню та відновив його за допомогою Drush.
giorgio79
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.