Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll

Страницы в "активном" разделе меню без ссылок

22/02/2025, by Гость (не проверено)
Форумы

Здравствуйте уважаемые!

имеем: пункт меню ведет на страницу со вьюхой(ну много там обьектов, много) у каждого из объектов есть своя страница с подробным описанием и галереей. В Структура-Типы материалов создан нужный тип. В настройках меню этого типа материалов  ставлю галочку на нужное меню, выибраю нужный родительский элемент по умолчанию, после этого появляется возможность создать ссылку в выбранном меню, тогда родительский\(нужный) пункт подсвечивается, если ссылку не создаю - пункт не подсвечивается, зачем же его тогда вообще выбирать в настройках типов материалов. Если не ситавить галочку в выборе меню, аналогично, родительский элемент остается неподсвеченным. в стили ЛИ-шки ничего нового не дописывается, остаетс clas=leaf

Нужно:

чтобы находясь на одной из страниц "объектов", я имел подсвеченный родительский пункт меню + в хлебных крошках тоже хочется иметь название родительсого раздела.  раскрываться этот пункт меню, в отличии от соседних не должен!

 

Как правильно решить подобную задачу или что я делаю неправильно?

буду крайне признателен за совет.


Посмотрите, возможно у вас в теге body настроен вывод классов нод.

Можно решить проблему еще двумя способами, через javascript и через php, через php правильнее.

Можете попробовать nice menus поставить он позволяет выводить классы пунктам меню и правильно обрабатывать active и active-trail.

В случае если будете писать свой модуль для этого, то лучше всего настроить пути, например для объектов, через модуль Pathauto одинаковым образом, чтобы они например начанались с /object/... , так вы сможете проверить на какой вы странице находитесь. Проверить можно в php с помощью переменной глобальной $_SERVER, у которой есть поле REQUEST_URI, проверяем так:

<?php
  if(substr($_SERVER['REQUEST_URI'], 0, 7) == '/object'){
  //совершаем действие на этой странице
}
?>

Можно например такую проверку вставить в template.php и добавить классы в тег body и уже основываясь на этом классе написать нужный нам css. Например если в body выводится класс node-object, то выделяем через css .node-object .menu-1233 нужным цветом.

Если через javascript (jquery) нужно проверить, то там тоже можно обратиться к пути.

 var sBody = document.URL;

Проверить урл можно также как и в php:

if(sBody.substr(0,7) == '/object'){
  //совершаем действие
}

Можно например с помощью нужного класса добавить еще один, например active:

$('.menu-1324').addClass('active');

 


Спасибо з аподробный ответ. 

1. на данном этапе меня совсем не интересуют красивые урлы, почти даже наоборот:)

2. Все же, если не ошибаюсь, то выбор родительского пункат по умолчанию давал нужный эффект когда-то:)

3. почему-то в класс меню не пишется его ИДшник.. тот самый .menu-1324

буду экспериментировать.


Удалось решить задачу - отключил в соотв. меню появившиеся пунты - все :)