Làm thế nào để xóa hoàn toàn và xây dựng lại các menu drupal?


9

Cách đây một thời gian, tôi đã tìm thấy một bài đăng trên blog rất chi tiết về cách làm trống các bảng menu và xây dựng lại hệ thống menu bằng một cuộc gọi php nhỏ giọt, một điều cần thiết vì trang web sẽ không thể sử dụng được sau khi làm trống các bảng mysql đó. Bằng cách này, bạn có thể đặt lại các menu của mình giống như một trang web Drupal mới.

Bất cứ ai có thể chi tiết kỹ thuật này hoặc bạn có liên kết cho blog đó?


Bạn đang nói về việc xóa bộ nhớ cache menu?
Anil Sagar

Không, làm sạch bộ nhớ cache của menu là không đủ để sửa một menu bị cắt xén. Đôi khi các menu bị rối tung lên. Đặc biệt là menu quản trị.
giorgio79

Tại sao là -1? Đó là một câu hỏi hợp lệ. + 1'ing để phản tác dụng.
gửi

Những menu này được tạo ra như thế nào? Tôi hỏi bởi vì nếu chúng được tạo bởi một mô-đun, thì bạn có thể hủy kích hoạt mô-đun. Điều đó sẽ loại bỏ các mục menu vi phạm. Nếu bạn xóa khỏi cơ sở dữ liệu và mã để tạo những thứ này vẫn tồn tại, chúng có thể bật lên lại.
Rick

Câu trả lời:



6

Tôi đã tìm kiếm một giải pháp cho vấn đề này để xây dựng lại các menu Drupal cho đến khi tôi vấp phải một vấn đề về Drupal đã giúp tôi. Giải pháp của tôi (trong tập lệnh php) là như sau:

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

Điều này cũng có thể được thực hiện bằng cách nhập các truy vấn thông qua phpmyadmin hoặc một cái gì đó tương tự:

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

Và sau đó xây dựng lại cấu trúc menu. Nếu bạn sử dụng mô-đun phát, bạn có thể đạt được điều đó bằng cách truy cập trang /devel/menu/reset. Tôi không có mô-đun phát, tôi không biết cách xây dựng lại cấu trúc menu.

Đừng quên sao lưu cơ sở dữ liệu của bạn trước khi bạn thử điều này.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.