Как вывести название активной ссылки меню?
Просто я не знаю php...
Но я так полагаю, что прописав через функцию или с помощью template это можно сделать.
Т.е. элементарно. Дапустим нажимам в меню на пункт "Новости". Открывается. И нужно что бы на странице отображалось название активной ссылки (в данном случае название - "Новости"). По сути - это будет название страницы. Не спрашивайте почему такими обходными способами... Просто трудно настроить breadcrumb для views (если используются фильтры).
мож эта переменная будет отображдать название: menu_get_active_title
Вообщем, незнаю. помогите пожалуйста!
Комментарии
drupal_get_title()
Только учтите, что не отображается только во views, а в других местах у вас тогда будет дублироваться, получится что то типа главная >>не_новости>>не_новости . Поэтому поставте проверку на последний елемент массива breadcrumb если он совпадает, то не нужно выводить.(правда я использовал taxonomy_context и taxonomy_breadcrumb), теперь правда живу без последнего модуля, просто переписал theme_breadcrumb под свои нужды. Если не сможете сделать спрашивайте еще, просто я тоже когда то с этим намучался
да да, я то же об этом подумал, что будет дублироваться... Но на всякий случай, уточните, как прписать полность функцию drupal_get_title()
(т.е. куда и что вставлять, а то я рнр не знаю).
Не совсем понял, как это: "поставте проверку на последний елемент массива breadcrumb если он совпадает, то не нужно выводить."
можно подробнее?
Поясню:
Дело в том, что в views я использую фильтры и аргументы. При выводе views и загаловок страницы и путь прописываются не полностью.
Вот я хочу востановить справедливость.
В общем если не включент taxonomy_breadcrumb работает такая конструкциия
{
$breadcrumb[] = drupal_get_title();
return '<div class="breadcrumb">'. implode(' » ', $breadcrumb) .'</div>';
}
если дублируется
то можно так
$check = array_reverse($breadcrumb);
$last_breadcrumb_element = strtolower(strip_tags($check[0]));
if($last_breadcrumb_element == drupal_get_title())
{
array_pop($breadcrumb);
}
$breadcrumb[] = drupal_get_title();
return '<div class="breadcrumb">'. implode(' » ', $breadcrumb) .'</div>';
ну это просто кусок кода
А вобще добро пожаловать на друпал орг например сюда
В первом случае ничего не изменяется. А во втором, выдаёт ошибку:
warning: array_reverse() [function.array-reverse]: The argument should be an array in путь\template.php on line 17.
типа тут ошибка: $check = array_reverse($breadcrumb);
А как всё-таки правильно прописать функцию, что бы отобразилось название активной ссылки?
Пробывал вот так:
function phptemplate_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
//Append title of current page
$breadcrumb[] = menu_get_active_title();
return ''. implode(' > ', $breadcrumb);
}
}
путь правильный прописывается и активная ссылка прописывапется в конце пути.
Это хорошо. Но я хочу активную ссылку сделать не в конце пути, а как название страницы. Как это сделать? Как правильно прописать функцию?
кто поможет?
Вы же используете функцию menu_get_active_title(). Что она выдает?
А переменная $node->title; ?
$node->title; не подайдёт
ведь тут используется views
Я не знаю рнр поэтому не знаю как нужно составить функцию, что бы menu_get_active_title() выдавала название активной ссылки обчным словом.
Т.е. как из menu_get_active_title построить отдельную функцию (что бы она выдавала просто слово), без связи с breadcrumb.
Как?
Она же сама - функция. Выводите ее результат:
<?php print menu_get_active_title();?>
СПАСИБО!