nitrol Опубликовано 16 декабря, 2014 Жалоба Поделиться Опубликовано 16 декабря, 2014 День добрый!В общем суть вопроса такова: сделать вывод категорий в двух местах в дизайне, одни категории - основные, вторые вспомогательные - в футере.Добавил в админку чекбокс, в базу столбец к s_categories, чекбокс работает.сделал запрет вывода нижних категорий в основном меню таким образом: {if $c->visible} {if $c->niz} //так я назвал переменную в таблице {else} <li> <div> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a> </div> {categories_tree categories=$c->subcategories} </li> {/if} {/if} как (где) мне скопировать функцию {function name=categories_tree}? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 декабря, 2014 Жалоба Поделиться Опубликовано 16 декабря, 2014 в index.tpl А если вставляете в том же шаблоне после определения функции, то и так будет работать... Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 я бы не писал, если бы не получилось. вставляя функцию {function name=categories_tree} {if $categories} {foreach $categories as $c} {* Показываем только видимые категории *} {if $c->visible} {if $c->niz} <li> <div> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a> </div> {categories_tree categories=$c->subcategories} </li> {else} {/if} {/if} {/foreach} {/if} {/function} {categories_tree categories=$categories} выводится еще раз все меню категории Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 ах, да, симпла 2.1.5 Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 если изменять логику вывода списка категорий в первой функции, то все прекрасно рабоатет Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 декабря, 2014 Жалоба Поделиться Опубликовано 16 декабря, 2014 я бы не писал, если бы не получилось.Если бы Вы писали толком, быстрее бы ответ полезный получили... Сейчас можно только гадать - куда и как Вы вставляете, где и какая у Вас первая функция, а где вторая... Возможно, причина в том, что Вы пытаетесь ДВА раза определить функцию с одним и тем же именем. А возможны и еще десяток вариантов или даже более... Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 Если бы Вы писали толком, быстрее бы ответ полезный получили... Ув. товарищ Kors, извиняюсь, виноват.И да, Вы правы, в данный момент я (пытаюсь) вывожу функцию {function name=categories_tree}два раза в одном файле (index.tpl). как сделать это правильно? Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 декабря, 2014 Жалоба Поделиться Опубликовано 16 декабря, 2014 Простейший вариант - во втором случае назвать функцию по-другому. Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 Простейший вариант - во втором случае назвать функцию по-другому.Я этого и хочу, только как? сейчас переименовал функцию, выводит почему-то все меню, а не отсортированное с помощью {if $c->niz} {function name=gagsyyda} {if $categories} {foreach $categories as $c} {* Показываем только видимые категории *} {if $c->visible} {if $c->niz} //по идее здесь должны выводиться категории с флагом niz == 1 <li> <div> <a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a> </div> {categories_tree categories=$c->subcategories} <div></div> </li> {else} {/if} {/if} {/foreach} {/if} {/function} {categories_tree categories=$categories} Цитата Ссылка на сообщение Поделиться на другие сайты
Решение Kosjak76 Опубликовано 16 декабря, 2014 Решение Жалоба Поделиться Опубликовано 16 декабря, 2014 {gagsyyda categories=$categories} Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 {gagsyyda categories=$categories}Примного благодарен, чуть позже выложу скомпилированную версию в готовые решения!Спасибо! Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 16 декабря, 2014 Жалоба Поделиться Опубликовано 16 декабря, 2014 Видимо, строку {categories_tree categories=$c->subcategories} тоже менять надо... Цитата Ссылка на сообщение Поделиться на другие сайты
nitrol Опубликовано 16 декабря, 2014 Автор Жалоба Поделиться Опубликовано 16 декабря, 2014 Думаю да, но мне нужно было выводить только 1-й уровень. Проверю - отпишу Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.