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

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

Друзья. возникла необходимость вывести мега меню в виде табов , где вкладка таба это корневая категория, а содержимое таба это ее дочерние категории.

 

Верстаю на бустрапе, код примерно такой.

 

Это вывод категорий 1 уровня во вкладки табов

 

{function name=categories_tree}
{if $categories}
  <ul class="nav nav-tabs" role="tablist">
{foreach $categories as $c}
{if $c->visible}
<li>
<a href="catalog/{$c->url}" role="tab" data-toggle="tab">{$c->name|escape}</a>
</li>
{/if}
{/foreach}
</ul>
{/if}
{/function}
{categories_tree categories=$categories}

 

 

Это сами табы

                        

    

                    <div class="tab-content">
                          <div class="tab-pane active" id="id-1">1 подкатегория</div>
                          <div class="tab-pane" id="id-2">2 подкатегория</div>
                          <div class="tab-pane" id="id-3">3 подкатегория</div>
                        </div>

Вопрос как вывести категории 2 уровня. Пока мысли такие что ( id) связующие вкладки и содержимое задать переменную и в цикле делать +1.

 

а вот как грамотно вывести отдельно категории 2 уровня чтоб они формировались в блоке 

 

div class="tab-pane" id="id-1">   </div>
Ссылка на сообщение
Поделиться на другие сайты

Хоть ты меня и бесишь я всё же помогу.

Вот изучай:

{if $categories}
<ul class="nav nav-tabs" role="tablist">
	{foreach $categories as $c}
	{if $c->visible}
	<li>
		<a href="catalog/{$c->url}" role="tab" data-toggle="tab">{$c->name|escape}</a>
	</li>
	{/if}
	{/foreach}
</ul>
<div class="tab-content">
	{foreach categories as $cat}
	{if $cat->visible && $cat->subcategories}
	<div class="tab-pane active">{$cat->subcategories|print_r}</div>
	{/if}
	{/foreach}
</div>
{/if}
Ссылка на сообщение
Поделиться на другие сайты

 

Хоть ты меня и бесишь я всё же помогу.

Вот изучай:

{if $categories}
<ul class="nav nav-tabs" role="tablist">
	{foreach $categories as $c}
	{if $c->visible}
	<li>
		<a href="catalog/{$c->url}" role="tab" data-toggle="tab">{$c->name|escape}</a>
	</li>
	{/if}
	{/foreach}
</ul>
<div class="tab-content">
	{foreach categories as $cat}
	{if $cat->visible && $cat->subcategories}
	<div class="tab-pane active">{$cat->subcategories|print_r}</div>
	{/if}
	{/foreach}
</div>
{/if}

 

К сожалению данная конструкция не выводит категории 2 уровня. 

 

http://demo.simplacms.ru/

 

Вот пример на демо сделал.

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

На форуме много обсуждений подобных задач с простыми хорошими решениями, например
http://forum.simplacms.ru/topic/8623-%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D1%8B%D0%B5-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8-2-%D0%B3%D0%BE-%D0%B8-3-%D0%B3%D0%BE-%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F/

А в конструкции мз #2 автор применил нестандартный прием {$cat->subcategories|print_r}. Вряд ли он его пробовал в действии, иначе бы не советовал. Впрочем, возможно, у него была цель усложнить Вам разбор примера...

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

На форуме много обсуждений подобных задач с простыми хорошими решениями, например

http://forum.simplacms.ru/topic/8623-%D0%BD%D0%B5%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D1%8B%D0%B5-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8-2-%D0%B3%D0%BE-%D0%B8-3-%D0%B3%D0%BE-%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F/

 

А в конструкции мз #2 автор применил нестандартный прием {$cat->subcategories|print_r}. Вряд ли он его пробовал в действии, иначе бы не советовал. Впрочем, возможно, у него была цель усложнить Вам разбор примера...

Да, я специально распечатал результат.
Ссылка на сообщение
Поделиться на другие сайты

Да, я специально распечатал результат.

 

Вы распечатываете результат через  {$cat->subcategories|print_r} ? И в профиле у Вас стоит "Программирование" ? И себя Вы именуете "Великим" ? И свои скилы Вы представляете как "большие" ?

 

Надо хотя бы простейшие проверки делать для своих глубоких идей...

 

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

Вы распечатываете результат через  {$cat->subcategories|print_r} ? И в профиле у Вас стоит "Программирование" ? И себя Вы именуете "Великим" ? И свои скилы Вы представляете как "большие" ?

 

Надо хотя бы простейшие проверки делать для своих глубоких идей...

 

 

Решение что вы дали ссылку не выводит категории 2 уровня. Проверяю на демо симплы.

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

Вы распечатываете результат через  {$cat->subcategories|print_r} ? И в профиле у Вас стоит "Программирование" ? И себя Вы именуете "Великим" ? И свои скилы Вы представляете как "большие" ?

 

Надо хотя бы простейшие проверки делать для своих глубоких идей...

 

 

 

	{foreach categories as $cat}
	{if $cat->visible && $cat->subcategories}
	<div class="tab-pane active">
	{foreach $cat->subcategories as $subcat}
	{$subcat->name|escape}
	{/foreach}
	</div>
	{/if}
	{/foreach}

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

 

По факту имею пустой div

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

Видимо, потому, что первую строку надо писать так:

{foreach $categories as $cat}

 

согласен, не заметил.

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

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

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

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

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

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

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

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

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

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