편집 / 개정 / 워크 플로를 포함하지 않는 Drupal $ 탭
문제
나는 Drupal5 사이트를 물려 받았으며 약간의 변경을 수행하는 임무를 맡았지만 어디에서 시작 해야할지 알 수 없습니다.
많은 페이지에는 특정 작업을 수행 할 수있는 관리자가 사용할 수있는 메뉴가 있습니다.
Field News Events Courses의 개요 전문가 리소스 및 도구 멀티미디어 편집 트랙 워크 플로 설정
그러나 일부 섹션에는 다양한 옵션이 있습니다. 미리보기 레이아웃 설정 레이아웃 설정 고급 컨텍스트 콘텐츠 내보내기
두 번째 메뉴에 (편집, 추적, 워크 플로, 설정)를 추가해야하지만 어떻게 해야할지 잘 모르겠습니다.
Page.tpl.php에 $ 탭을위한 영역이 있지만 이것이 어떻게 만들어 지는지 알 수 없습니다.
내가 말할 수있는 것에서, 테마는 Zen Starterkit 테마를 기반으로합니다.
해결책
$ 탭 변수는 일반적으로 유형의 메뉴 항목으로 채워집니다. MENU_LOCAL_TASK
.
살펴보십시오 메뉴 시스템, 특히 hook_menu()
기본 아이디어를 얻으려면. 경로에 대한 콜백 함수의 매핑으로 요약됩니다. URL이 정의 된 경로와 일치하는 경우 hook_menu
(자리 표시자를 포함 할 수 있습니다!) 해당 경로에 등록 된 콜백 함수는 해당 URL의 컨텐츠를 생성하도록 호출됩니다.
'유형' hook_menu
항목은 경로/콜백 조합이 시스템에 어떻게 표시되는지 정의합니다. 그것은 될 수 있습니다 MENU_CALLBACK
, 이는 등록 된 경로/콜백 조합만을 의미하지만 해당 '실제'메뉴 항목은 없습니다. ㅏ MENU_NORMAL_ITEM
, 동일하지만 내비게이션 메뉴에서 '표준'메뉴 항목이 있습니다. ㅏ MENU_LOCAL_TASK
동일하지만 해당 메뉴 항목은 일반적으로 메뉴가 아닌 $ 탭에 나타납니다.
모두 MENU_LOCAL_TASK
동일한 기본 경로를 공유하는 것은 탭 그룹으로 끝납니다. 따라서 다음과 같은 경로가 있다면 다음과 같은 경로가 있다면
- 일부/path/tab1
- 일부/path/tab2
- 일부/path/tab3
그리고이 모든 것들이 정의 된 곳 MENU_LOCAL_TASK
, 당신은 그들이 나타내는 각 페이지에서 각각 각각에 대해 하나의 탭을 볼 수 있습니다.
따라서 수정/강화에 필요한 장소를 찾으려면 Codebase를 모두 검색해야합니다. hook_menu()
해당 탭이 표시되는 경로를 정의하는 구현. 모두 같은 장소에서 정의 할 필요는 없지만 다른 곳에서 올 수 있습니다. hook_menu
다른 모듈의 구현. 추가하려는 탭에 대한 메뉴 정의를 추가 해야하는 것보다 관련 경로를 콜백 함수에 매핑해야합니다. 콜백 함수는 탭을 클릭 할 때 사용자가 볼 수있는 페이지의 내용을 반환합니다.
다른 팁
노드를 표시하는 경우 일반적으로 $ 탭에 이미 편집 링크가 있습니다. 다른 것이 없기 때문입니다 (일부 레이아웃 모듈). 어떤 종류의 컨텐츠를 편집/ 추적하려면 편집/ 트랙 옵션을 추가해야합니까? 특정 노드 또는 뭐?