2013-06-04 3 views
0

У меня есть пользовательское меню под названием «Нижний колонтитул», машиносчитываемое имя «menu-footer». И я хочу переопределить функцию theme_menu_tree() для меню. Мое имя темы «abc», поэтому я попробовал abc_menu_tree__menu_footer(), и он не работает. Но изменение abc_menu_tree() работает, поэтому оно должно иметь отношение к переопределению пользовательских меню.YOUR_THEMENAME_menu_tree__YOUR_MENUNAME не работает

Я проверил этот Question, но он не работает. Есть ли что-нибудь, что мне нужно сделать, чтобы позволить переопределять пользовательские меню?

Спасибо за вашу помощь заранее.

Edit:

Код функции:

function abc_menu_tree__menu_footer($variables) { 
    return '<nav class="sub-navigation"><ul>' . $variables['tree'] . '</ul></nav>'; 
} 

abc_menu_link__menu_footer() не может быть отменено тоже. В abc_menu_link() вы можете проверить контекст, так что это не большая проблема. Если я проверяю, является ли тема элемента «menu_link__menu_footer», он работает для ссылок меню.

Edit2:

Я не могу переопределить abc_menu_tree для главного меню тоже. abc_menu_tree__main_menu не работает.

+1

Странно, потому что эта же функция работает для меня для 4 пользовательских меню в template.php в том же формате. Можете ли вы разместить здесь всю функцию? – RajeevK

+1

Удалили ли вы кеш сайта после объявления новой функции внутри файла 'template.php' темы?! –

+0

Я сбросил кеши в настройках производительности и добавил к моему вопросу код и дополнительную информацию. Спасибо за ваши ответы! ;) – Abenil

ответ

1

Для того, чтобы использовать THEME_menu_tree на главном меню, вместо того, чтобы использовать THEME_menu_tree__main_menu(), вам нужно будет использовать THEME_menu_tree__primary()

Это происходит потому, что меню, которое обеспечивает основные связи определяется в админ/структуры/меню/настройки.

Я думал об этом, копаясь в функции radix_preprocess_page() функции radix, где переменная главного меню настроена для использования в page.tpl.php с помощью переменной_get(). Duh! Так легко забыть о маленьких крошечных конфигурациях.

Так что да. TheME_menu_tree__primary() и THEME_menu_tree__secondary(), вероятно, являются функциями, которые вы ищете!