Добавление класса с учетом parentid категории
finik 24.02.2019 Стол заказов 1508 15 комментариев
В сайдбаре вывожу список категорий/подкатегорий через catmenu:
Так как список длинный, для родительских категорий сделал спойлеры. Скрипт спойлера:
Надо, чтобы при нахождении в родительской категории, подкатегории или на странице, принадлежащей этой подкатегории, список родительской категории был открытым. То есть, в:
добавлялся класс:
В коде шаблона это может выглядеть так:
, где {catmenu-open} заменяется на spoiler_open только для конкретного списка подкатегорий и родительской категории.
Выше пример: spoiler_open будет прописан, если пользователь находится в категории id=1, либо в подкатегориях с id=2 по id=6, или на страницах, принадлежащих этим подкатегориям.
Понимаю, что "копать" надо в сторону parentid, но сам реализовать этого не смогу.
Стоимость по договоренности.
[root]<ul>[/root]
[item]
<li[active] class="cat-active"[/active]><a class="linkincode[isparent] spoiler_links[/isparent]" href={url}"}">{name}</a>
[sub-prefix]<ul class="spoiler_body">[/sub-prefix]{sub-item}[sub-suffix]</ul>[/sub-suffix]</li>
[/item]
[root]</ul>[/root]
Так как список длинный, для родительских категорий сделал спойлеры. Скрипт спойлера:
$(document).ready(function() {
$('.spoiler_links').click(function() {
$("ul[class^='spoiler_body']").hide('normal');
if ($(this).parent().children('ul.spoiler_body').css("display") == "none") {
$("ul[class^='spoiler_body']").hide('normal');
$(this).parent().children('ul.spoiler_body').toggle('normal');
} else $("ul[class^='spoiler_body']").hide('normal');
return false;
});
});
Надо, чтобы при нахождении в родительской категории, подкатегории или на странице, принадлежащей этой подкатегории, список родительской категории был открытым. То есть, в:
<ul class="spoiler_body">
добавлялся класс:
<ul class="spoiler_body spoiler_open">
В коде шаблона это может выглядеть так:
<ul class="spoiler_body {catmenu-open}">
, где {catmenu-open} заменяется на spoiler_open только для конкретного списка подкатегорий и родительской категории.
<ul>
<li>Категория ID=1
<ul class="spoiler_body spoiler_open">
<li>Подкатегория ID=2</li>
<li>Подкатегория ID=3</li>
<li>Подкатегория ID=4</li>
<li>Подкатегория ID=5</li>
<li>Подкатегория ID=6</li>
</ul>
</li>
<li>Категория ID=7
<ul class="spoiler_body">
<li>Подкатегория ID=8</li>
<li>Подкатегория ID=9</li>
<li>Подкатегория ID=10</li>
<li>Подкатегория ID=11</li>
<li>Подкатегория ID=12</li>
</ul>
</li>
<li>Категория ID=13</li>
<li>Категория ID=14</li>
</ul>
Выше пример: spoiler_open будет прописан, если пользователь находится в категории id=1, либо в подкатегориях с id=2 по id=6, или на страницах, принадлежащих этим подкатегориям.
Понимаю, что "копать" надо в сторону parentid, но сам реализовать этого не смогу.
Стоимость по договоренности.