Вкладки Drupal $, не включая редактирование / ревизии / рабочий процесс

Я унаследовал сайт Drupal5 и ему было поручено внести некоторые изменения, но я не могу понять, с чего начать искать.

На многих страницах доступно меню администраторам, позволяющее выполнять определенные действия:

Обзор Специалисты Ресурсы и инструменты В полевых новостях События Курсы Мультимедиа Редактировать настройки рабочего процесса отслеживания

Тем не менее, в некоторых разделах есть разные варианты: Параметры макета предварительного просмотра Параметры макета Расширенный экспорт содержимого контекста

Мне нужно добавить (Edit, Track, Workflow, Settings) ко второму меню, но я не уверен, как это сделать.

Я вижу, что в page.tpl.php есть область для $ tabs, но я не могу понять, как это получается.

Из того, что я могу сказать, тема основана на теме Zen STARTERKIT.

Переменная $ tabs обычно заполняется записями меню типа MENU_LOCAL_TASK .

Взгляните на систему меню , и особенно на hook_menu() чтобы получить основную идею. Это сводится к отображению функций обратного вызова на пути. Если URL-адрес соответствует пути, определенному в hook_menu (может содержать заполнители!), Функция обратного вызова, зарегистрированная для этого пути, вызывается для создания контента для этого URL-адреса.

«Тип» элемента hook_menu определяет, как комбинация пути / обратного вызова представляется в системе. Это может быть MENU_CALLBACK , что будет означать только зарегистрированную комбинацию пути / обратного вызова, но не соответствующую «реальную» запись в меню. MENU_NORMAL_ITEM будет таким же, но с «стандартным» вводом меню, например, в меню навигации. A MENU_LOCAL_TASK – это то же самое, но соответствующий пункт меню обычно отображается на вкладках $, а не в меню.

Все MENU_LOCAL_TASK которые используют один и тот же базовый путь, будут представлены в виде группы вкладок. Поэтому, если у вас были такие пути, как:

  • некоторые / путь / tab1
  • некоторые / путь / tab2
  • некоторые / путь / tab3

и все из них, где определено как MENU_LOCAL_TASK , вы увидите одну вкладку для каждой из них на каждой странице, которую они представляют.

Поэтому, чтобы найти места, которые вам нужно изменить / улучшить, вы должны искать свою кодовую базу для всех реализаций hook_menu() которые определяют пути, по которым отображаются эти вкладки. Обратите внимание, что они не обязательно должны быть определены в одном месте, но могут hook_menu из разных реализаций hook_menu в разных модулях. Затем вам нужно добавить определения меню для вкладок, которые вы хотите добавить, сопоставление соответствующих путей с функциями обратного вызова. Функции обратного вызова возвращают содержимое страниц, которые пользователь должен видеть при нажатии на вкладки.

Если вы показываете узел, обычно есть ссылка «Изменить» в вкладках $, так как ее нет, это может быть что-то другое (какой-то модуль макета). Вам нужно добавить опции редактирования / дорожки для редактирования / отслеживания содержимого какого-либо контента? Конкретный узел или что?