Отображать пункты меню глубже, как второй уровень. (показать как развернутый на самом деле не расширяет пункты меню)


У меня есть меню, которое должно быть на 3 уровня глубже. Последний уровень никогда не появляется. Все пункты меню настроены на "Показывать в развернутом виде". Но если посмотреть на html-код элементов li, составляющих меню, я увижу <li class="collapsed" >menuitemname </li>

Эта проблема возникает в bartik, а также b2nature (тот, с которым должен работать сайт)

Имейте в виду, что я действительно убедился, что в конфигурации меню я установил каждый пункт меню как "Показывать как расширенный".

Обновление Проблема даже кажется немного сложнее, чем я думал. Я сделал сценарий, который изменил все значения класса, в которых говорилось "свернутый", на "расширенный". После проверки HTML я вижу, что скрипт работает, но даже при том, что для всех классов установлено значение "расширенный", все еще не видно уровня 3.

Вот сценарий, чего он стоит

window.onload = function(){

    var mainMenu = document.getElementById('block-menu-block-1');
    var menuItems = mainMenu.getElementsByTagName("li");


    for (var i=0; i < menuItems.length; i++ ){

        var attributes = menuItems[i].getAttribute('class');
        var arrayAttributes = attributes.split(' ');
        for (var j=0; j < arrayAttributes.length; j++ ){

            if (arrayAttributes[j] == 'collapsed'){
                arrayAttributes[j] = 'expanded';
                }
            }

        var newAttributes = arrayAttributes.join(' ');
            menuItems[i].removeAttribute('class');
            menuItems[i].setAttribute('class', newAttributes);
        }
}

Обновление: Я могу подтвердить, что эта проблема, должно быть, связана с ошибкой.

Я восстановил то же меню на другом сайте (на этот раз локально). Когда я помещал блок этого меню в любой регион, расширенные пункты меню просто появлялись, потому что я установил флажок "Показывать как развернутый" в конфигурации после нажатия кнопки "+Добавить ссылку". Не имело значения, содержали ли развернутые пункты меню фактические узлы в качестве пути или в качестве пути. Все работало просто отлично. Затем я также восстановил то же меню на своем проблемном сайте, только начав с нуля, но проблема сохранялась.

Обновление 3-го уровня также нет в HTML. Я также установил и настроил модуль Блоков меню, чтобы посмотреть, поможет ли это, но это не так.

 2
Author: Immers, 2012-03-05

2 answers

Это "по дизайну" drupal/темы.

С помощью такого модуля, как Блок меню , вы можете создавать блоки с нужной вам функциональностью, а затем размещать блоки там, где было меню.

 6
Author: s.Daniel, 2012-03-05 11:27:37

Таким образом, причина, по которой HTML отсутствовал на 3-м уровне, заключалась в языковой проблеме. Английский был установлен по умолчанию и включен, в то время как некоторые пункты меню были на голландском языке. Вот почему эти предметы нигде не были показаны.

 0
Author: Immers, 2012-03-10 19:11:51