Расширенная навигация по умолчанию
-
16-10-2019 - |
Вопрос
Я использую профессионал меню навигации на боковой панели для Magento от Codnitial, и я пытаюсь сделать его расширенным по умолчанию. В частности, мне нужно решение, чтобы сделать только первый элемент списка, расширенный по умолчанию. Вот код:
<script type="text/javascript" language="javascript">
//<![CDATA[
Codnitive = {
expandMenu: function(parent)
{
var mode = parent.getElementsByTagName("ul")[0].getAttribute("expanded");
(mode == 1) ? Codnitive.collapse(parent) : Codnitive.expand(parent);
},
expand: function(parent)
{
parent.getElementsByTagName("ul")[0].style.display = "block";
parent.getElementsByTagName("span")[0].style.backgroundPosition = "right center";
parent.getElementsByTagName("ul")[0].setAttribute("expanded", "1");
},
collapse: function(parent)
{
parent.getElementsByTagName("ul")[0].style.display = "none";
parent.getElementsByTagName("span")[0].style.backgroundPosition = "left center";
parent.getElementsByTagName("ul")[0].setAttribute("expanded", "0");
}
};
//]]>
</script>
На другом форуме было предложение использовать:
Codnitive.expand(document.getElementById('the-menu-parent-element-id'));
Где именно мне написать этот код, чтобы он работал? Извините, но я не знаком с JS.
Решение 2
Должен добавить это условие в строке 280:
if ($category->getId() == '35') {
$expanded = 1;
}
Таким образом, категория с ID 35 будет расширена по умолчанию. Есть еще одна небольшая проблема - знак «плюс» остается, но он должен быть «минус» для разрушения категории.
Другие советы
Я бы предпочел отредактировать navigation.php Codnitiate.php в приложении/code/community/codnitial/sidenav/block/
Примерно на строке 289 должно быть
if ($height == 0) {
$extraStyle = ' display:none;';
}
Если вы удалите дисплей: нет, это должно быть видно. Вы также можете добавить условие, используя переменную $ уровня.
Просто посмотрите на код, на мой взгляд, это довольно просто.