วิธีการล้างและสร้างเมนู drupal ใหม่ทั้งหมด


9

เมื่อไม่นานมานี้ฉันพบโพสต์บล็อกสุดยอดที่มีรายละเอียดวิธีล้างตารางเมนูและสร้างระบบเมนูใหม่ด้วยการเรียก php drush ความจำเป็นเนื่องจากไซต์จะไม่สามารถใช้งานได้หลังจากล้างตาราง mysql เหล่านั้นแล้ว ด้วยวิธีนี้คุณสามารถรีเซ็ตเมนูของคุณเหมือนเป็นเว็บไซต์ Drupal ใหม่

ทุกคนสามารถให้รายละเอียดเทคนิคนี้หรือคุณมีลิงค์สำหรับบล็อกที่?


คุณกำลังพูดถึงการล้างแคชเมนู?
Anil Sagar

ไม่แคชเมนูการทำความสะอาดไม่เพียงพอสำหรับแก้ไขเมนูที่อ่านไม่ออก บางครั้งเมนูก็สับสน โดยเฉพาะเมนูการบริหาร
giorgio79

ทำไมต้อง -1 มันเป็นคำถามที่ถูกต้อง +1 เพื่อตอบโต้
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 /devel/menu/resetคุณสามารถประสบความสำเร็จที่ได้โดยไปที่หน้า ฉันไม่มีโมดูล devel ฉันไม่แน่ใจว่าจะสร้างโครงสร้างเมนูใหม่ได้อย่างไร

อย่าลืมสำรองฐานข้อมูลของคุณก่อนที่จะลอง


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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.