Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как выделить активный пункт меню?

Как выделить активный пункт меню?


     08.07.2014    Все вопросы » Общие вопросы по PHP    2779

вопрос
Немного переделав стандртный {related-news} получил меню из заголовков страниц находящийся в этой категории.
Например, в категории Товар1 есть страницы "Описание", "Характеристики", "Фотографии".
Все они выводятся при нахождении на любой из этих страниц.

Суть вопроса - Хочу чтобы активный пункт меню подсвечивался.

Как я понял, ссылки related-news в show.full формируется так
$full_link = $config['http_home_url'] . get_url( $related['category'] ) . "/" . $related['id'] . "-" . $related['alt_name'] . ".html";


и далее накапливаются в буфер

$buffer .= "<a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a>";


И выводятся.

Как пробовал:
                    if ($full_link = $config['http_home_url'] . $_SERVER['REQUEST_URI']) 
                    
                        {$buffer .= "<a class=\"active\" href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a>";
                        
                        } else {
                        
                    $buffer .= "<a href=\"" . $full_link . "\">" . stripslashes( $related['title'] ) . "</a>";
                    }

т.е. если $full_link = странице, на которой находишься, то в ссылку подставляется class="active", но проблема в том, что класс подставляется во все ссылки в буфере =(

help

Ответил: cybernatic



$(function() {
  $('a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
});


источник

1 комментарий

Goel
Юзер

Goel - 9 июля 2014 09:50 -

Спасибо за ответ. Но он не заработал. Скорее всего из-за того, что ссылки у меня вида
http://site.ru/tovar-1/34-opisanie.html
http://site.ru/tovar-1/37-harakteristiki.html
http://site.ru/tovar-1/39-fotografii.html


Нашёл такое решение, работает:
<script>
onload = function ()
{
for (var lnk = document.links, j = 0; j < lnk.length; j++)
if (lnk [j].href == document.URL) lnk [j].style.cssText = 'background: #ff0000;';
}
</script>

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх