¿Cómo borrar y reconstruir completamente los menús de drupal?


9

Hace un tiempo encontré una publicación de blog genial que detallaba cómo vaciar las tablas de menú y reconstruir el sistema de menú con una llamada php drush, una necesidad ya que el sitio será inutilizable después de vaciar esas tablas mysql. De esta manera, puede restablecer sus menús como si fuera un nuevo sitio de Drupal.

¿Alguien puede detallar esta técnica o tiene el enlace para ese blog?


¿Estás hablando de borrar el caché del menú?
Anil Sagar

No, limpiar el caché del menú es insuficiente para arreglar un menú confuso. A veces los menús se confunden. Especialmente el menú de administración.
giorgio79

¿Por qué el -1? Es una pregunta valida. Hacer +1 para contrarrestar.
aendrew

¿Cómo se crearon estos menús? Pregunto porque si fueron creados por un módulo, entonces podría desactivar el módulo. Eso debería eliminar los elementos ofensivos del menú. Si elimina de la base de datos y aún existe código para crearlos, podrían aparecer nuevamente.
Rick

Respuestas:



6

Estuve buscando una solución al problema para reconstruir los menús de Drupal hasta que me topé con un problema de Drupal que me ayudó. Mi solución (en un script php) es la siguiente:

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

Esto también se puede hacer ingresando las consultas a través de phpmyadmin o algo similar:

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

Y luego reconstruir la estructura del menú. Si usa el módulo de desarrollo, puede lograrlo visitando la página /devel/menu/reset. Si no tiene el módulo de desarrollo, no estoy seguro de cómo reconstruir la estructura del menú.

No olvide hacer una copia de seguridad de su base de datos antes de intentar esto.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.