[РЕШЕНО] Ссылки в меню

Главные вкладки

Аватар пользователя Tds Tds 19 ноября 2010 в 16:22

Добрый день, друзья.

Хотелось бы узнать, каким образом можно побороть ссылки на самого себя в меню.

Находимся на странице Главная.

Имеем:

<ul>
   <li class="leaf first active-trail"><a href="#" class="active">Главная</a></li>
   <li><a href="#">Статьи</a></li>
   <li><a href="#">О сайте</a></li>
</ul>

Должно быть так:

<ul>
   <li class="leaf first active-trail">Главная</li>
   <li><a href="#">Статьи</a></li>
   <li><a href="#">О сайте</a></li>
</ul>

Подозреваю, что нужно править menu.inc.
Может модуль есть какой для организации такого меню?
Или как то через Views можно?

Комментарии

Аватар пользователя Lenulya Lenulya 19 ноября 2010 в 20:50

Tds wrote:
Добрый день, друзья.

Хотелось бы узнать, каким образом можно побороть ссылки на самого себя в меню.

Находимся на странице Главная.

Имеем:

<ul>
   <li class="leaf first active-trail"><a href="#" class="active">Главная</a></li>
   <li><a href="#">Статьи</a></li>
   <li><a href="#">О сайте</a></li>
</ul>

Должно быть так:

<ul>
   <li class="leaf first active-trail">Главная</li>
   <li><a href="#">Статьи</a></li>
   <li><a href="#">О сайте</a></li>
</ul>

Подозреваю, что нужно править menu.inc.
Может модуль есть какой для организации такого меню?
Или как то через Views можно?


найдите файл в котором код и отредактируйте как Вам нужно

Аватар пользователя Alexanderos Alexanderos 21 ноября 2010 в 15:11

"Lenulya" wrote:
найдите файл в котором код и отредактируйте как Вам нужно

Какой полезный совет однако))) вот бы еще поподробнее и цены бы вам не было Smile

Аватар пользователя Tds Tds 26 ноября 2010 в 0:21

Видимо обратился не туда.

Проблема решается созданием функции в файле template.php текущей темы (или редактированием оной в menu.inc) примерно следующего содержания:

<?php
function mytheme_menu_item_link($link) {
    if (empty(
$link['localized_options'])) {
        
$link['localized_options'] = array();
      }

    if (

$link['in_active_trail']) { // проверяем активен ли пункт
        
return check_plain($link['title']); // если да то возвращаем текст ссылки
    
}
      return 
l($link['title'], $link['href'], $link['localized_options']); // если нет, то возвращаем ссылку
}
?>

где в заголовке функции указывается машинное имя темы : mytheme_menu_item_link()

Не забываем очистить кэш.

Аватар пользователя bsyomov bsyomov 26 ноября 2010 в 0:30

"Lenulya" wrote:
найдите файл в котором код и отредактируйте как Вам нужно

Очень плохой совет! Последнее дело лезть в код, Drupal даёт механизмы, с помощью которых можно очень многое переопределить не вмешиваясь в код готовых модуей и самого друпала. Изучите функции темизации и хуки, и не давайте таких советов.

"Tds" wrote:
Проблема решается созданием функции в файле template.php текущей темы (или редактированием оной в menu.inc) примерно следующего содержания:

Не надо править menu.inc надо пользоваться темизацией, как описано в начале.