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

Как вывести категории в меню только по 2-ой уровень?


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

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

Сейчас стоит стандартное меню 

			<!-- Меню каталога -->
			<div id="catalog_menu">
					
			{* Рекурсивная функция вывода дерева категорий *}
			{function name=categories_tree}
			{if $categories}
			<ul>
			{foreach $categories as $c}
				{* Показываем только видимые категории *}
				{if $c->visible}
					<li>
						{if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if}
						<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a>
						{categories_tree categories=$c->subcategories}
					</li>
				{/if}
			{/foreach}
			</ul>
			{/if}
			{/function}
			{categories_tree categories=$categories}
			</div>
			<!-- Меню каталога (The End)-->	

У меня уровень воженности подкатегорий - 3. Мне нужно чтобы выводилось только главная категория и подкатегории. А уже под-под категории не выводились в нем.

 

Но не могу никак подобрать код, помогите пожалуйста.

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

в переменной {$level} - будет уровень вложености... Просто сделайте проверку {if $categories && $level < xxx} код вывода меню {/if} 

 





<!-- Меню каталога -->
            <div id="catalog_menu">
                    
            {* Рекурсивная функция вывода дерева категорий *}
            {function name=categories_tree}
            {if $categories}
            <ul>
            {foreach $categories as $c}
                {* Показываем только видимые категории *}
                {if $c->visible}
                    <li>
                        {if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if}
                        <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a>
                        {categories_tree categories=$c->subcategories level=$level+1}
                    </li>
                {/if}
            {/foreach}
            </ul>
            {/if}
            {/function}
            {categories_tree categories=$categories level=0}
            </div>
            <!-- Меню каталога (The End)-->
 
Ссылка на сообщение
Поделиться на другие сайты
  • Решение

Вот уже готовый код:



<!-- Меню каталога -->
<div id="catalog_menu">

{* Рекурсивная функция вывода дерева категорий *}
{function name=categories_tree}
{if $categories && $level < 3}
<ul>
{foreach $categories as $c}
{* Показываем только видимые категории *}
{if $c->visible}
<li>
{if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if}
<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a>
{categories_tree categories=$c->subcategories level=$level+1}
</li>
{/if}
{/foreach}
</ul>
{/if}
{/function}
{categories_tree categories=$categories level=0}
</div>
<!-- Меню каталога (The End)-->
 
Ссылка на сообщение
Поделиться на другие сайты

 

Вот уже готовый код:


<!-- Меню каталога -->
<div id="catalog_menu">

{* Рекурсивная функция вывода дерева категорий *}
{function name=categories_tree}
{if $categories && $level < 3}
<ul>
{foreach $categories as $c}
{* Показываем только видимые категории *}
{if $c->visible}
<li>
{if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name|escape}">{/if}
<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name|escape}</a>
{categories_tree categories=$c->subcategories level=$level+1}
</li>
{/if}
{/foreach}
</ul>
{/if}
{/function}
{categories_tree categories=$categories level=0}
</div>
<!-- Меню каталога (The End)-->
 

Спасибо  :)

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

Подскажите как в функцию categories_tree передать массив подкатегорий (subcategories) родителя выбранной категории?

 

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

 

{if $category->subcategories}
	{categories_tree categories=$category->subcategories}
{else}
	{categories_tree categories=?????? }
{/if}
Ссылка на сообщение
Поделиться на другие сайты

 

Подскажите как в функцию categories_tree передать массив подкатегорий (subcategories) родителя выбранной категории?

 

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

 

{if $category->subcategories}
	{categories_tree categories=$category->subcategories}
{else}
	{categories_tree categories=?????? }
{/if}

 

{categories_tree categories=$category->path[count($category->path)-1]->subcategories}
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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