문제

나는 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 다른 모듈의 구현. 추가하려는 탭에 대한 메뉴 정의를 추가 해야하는 것보다 관련 경로를 콜백 함수에 매핑해야합니다. 콜백 함수는 탭을 클릭 할 때 사용자가 볼 수있는 페이지의 내용을 반환합니다.

다른 팁

노드를 표시하는 경우 일반적으로 $ 탭에 이미 편집 링크가 있습니다. 다른 것이 없기 때문입니다 (일부 레이아웃 모듈). 어떤 종류의 컨텐츠를 편집/ 추적하려면 편집/ 트랙 옵션을 추가해야합니까? 특정 노드 또는 뭐?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top