Перейти к содержанию
Официальный форум поддержки Simpla

Вопрос по вёрстке, как вывести 'selected' в родительской категории


Перейти к решению Решено mishanya,

Рекомендуемые сообщения

Здравствуйте. Верстаю новый шаблон в котором делаю 3-ёх уровневое выпадающее меню. Все-бы хорошо но не могу разобраться с {if $category->id == $c->id}selected{/if}

 

Код меню у меня вот такой (само меню выводится через include) 

{if $categories}

{if $level == 0}
	{foreach item=c from=$categories}
		{if $c->visible}
			{if $c->subcategories}
			<div class="licat {if $category->id == $c->id}selected{/if}">
				<a href="catalog/{$c->url}" class="licat"><span>{$c->name}</span></a>
				{include file='categories.tpl' categories=$c->subcategories level=1}
			</div>
			{else}
			<div class="licat {if $category->id == $c->id}selected{/if}">
				<a href="catalog/{$c->url}" class="licat">{$c->name}</a>
			</div>
			{/if}
		{/if}
	{/foreach}
{/if}

{if $level == 1}
	<div class="ulsubpad">
        <div class="ulsub">
            {foreach item=c from=$categories}
                {if $c->subcategories}
                <div class="lisub">
                    <a href="catalog/{$c->url}" class="asub {if $category->id == $c->id}selected{/if}">{$c->name}</a>
                 	<span class="podcat"></span>
                    {include file='categories.tpl' categories=$c->subcategories level=2}
                </div>
                {else}
                <div class="lisub">
                    <a href="catalog/{$c->url}" class="asub {if $category->id == $c->id}selected{/if}">{$c->name}</a>
                </div>
                {/if}
            {/foreach}
        </div>
    </div>
{/if}

 

Это часть кода, но суть вопроса будет видна.

 

Как можно увидеть, в каждой главной ссылке есть 

 

class="licat {if $category->id == $c->id}selected{/if}"

Проблема:

 

Когда выбираешь категорию 2-ого и ниже уровня - родительская категория(и) перестает иметь класс selected т.к. $c->id уже другой.

 

Вопрос:

 

Как можно решить этот вопрос и сохранять класс selected для родительских категорий?

Буду очень благодарен за помощь.

 

Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Узнаем родительскую категорию 

{$first_category = $category->path|first}

добавляем класс если родительская категория совпадает из какой-то в цикле

class="licat {if $first_category->id == $c->id}selected{/if}"
Ссылка на сообщение
Поделиться на другие сайты

Спасибо большой, какой раз вы уже мне помогаете! :)

 

{$first_category = $category->path|first}
{$last_category = $category->path[($category->path)|count-2]}

Ссылка на сообщение
Поделиться на другие сайты
  • 5 месяцев спустя...

 

Узнаем родительскую категорию 

{$first_category = $category->path|first}

добавляем класс если родительская категория совпадает из какой-то в цикле

class="licat {if $first_category->id == $c->id}selected{/if}"

 

 

Спасибо !

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...