드루팔 메뉴를 완전히 지우고 다시 만드는 법?


9

얼마 전 메뉴 테이블을 비우고 drush php 호출로 메뉴 시스템을 다시 작성하는 방법을 자세히 설명하는 멋진 블로그 게시물을 찾았습니다.이 mysql 테이블을 비운 후 사이트를 사용할 수 없기 때문에 필요합니다. 이렇게하면 새로운 Drupal 사이트처럼 메뉴를 재설정 할 수 있습니다.

누구든지이 기술을 자세히 설명 할 수 있습니까, 아니면 해당 블로그에 대한 링크가 있습니까?


메뉴 캐시를 지우는 것에 대해 이야기하고 있습니까?
Anil Sagar

아니요, 메뉴 캐시를 정리하면 깨진 메뉴를 수정하기에 충분하지 않습니다. 때때로 메뉴가 엉망이됩니다. 특히 관리 메뉴.
giorgio79

왜 -1입니까? 유효한 질문입니다. +1하여 대응합니다.
aendrew

이 메뉴는 어떻게 만들어 졌습니까? 모듈에 의해 생성 된 경우 모듈을 비활성화 할 수 있기 때문에 묻습니다. 문제가되는 메뉴 항목을 제거해야합니다. 데이터베이스에서 제거하고이를 작성하는 코드가 여전히 존재하면 다시 팝업 될 수 있습니다.
Rick

답변:



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 모듈이 없습니다. 메뉴 구조를 다시 작성하는 방법을 잘 모르겠습니다.

시도하기 전에 데이터베이스백업하는 것을 잊지 마십시오 .


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.