Я унаследовал сайт 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
которые используют один и тот же базовый путь, будут представлены в виде группы вкладок. Поэтому, если у вас были такие пути, как:
и все из них, где определено как MENU_LOCAL_TASK
, вы увидите одну вкладку для каждой из них на каждой странице, которую они представляют.
Поэтому, чтобы найти места, которые вам нужно изменить / улучшить, вы должны искать свою кодовую базу для всех реализаций hook_menu()
которые определяют пути, по которым отображаются эти вкладки. Обратите внимание, что они не обязательно должны быть определены в одном месте, но могут hook_menu
из разных реализаций hook_menu
в разных модулях. Затем вам нужно добавить определения меню для вкладок, которые вы хотите добавить, сопоставление соответствующих путей с функциями обратного вызова. Функции обратного вызова возвращают содержимое страниц, которые пользователь должен видеть при нажатии на вкладки.
Если вы показываете узел, обычно есть ссылка «Изменить» в вкладках $, так как ее нет, это может быть что-то другое (какой-то модуль макета). Вам нужно добавить опции редактирования / дорожки для редактирования / отслеживания содержимого какого-либо контента? Конкретный узел или что?