GARVAN Опубликовано 5 сентября, 2012 Жалоба Поделиться Опубликовано 5 сентября, 2012 Подскажите как сделать отдельную категорию со своим стилем, отличным от других. Предполагаю что потребуется создать отдельный tpl и выводить категорию через $category->id или еще как. Но уже который день что не пробую ничего не получается. Может кто то уже делал такое и поделится опытом? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 6 сентября, 2012 Жалоба Поделиться Опубликовано 6 сентября, 2012 Файл products.tpl : {if $category->id == 5} {$wrapper = 'index2.tpl' scope=parent} {* Если нужна оболочка другая *} {include file='products2.tpl'} {* Шаблон для категории с АйДи = 5 *} {else} Код файла products.tpl {/if} Цитата Ссылка на сообщение Поделиться на другие сайты
GARVAN Опубликовано 6 сентября, 2012 Автор Жалоба Поделиться Опубликовано 6 сентября, 2012 спасибо. все заработало с первой попытки Цитата Ссылка на сообщение Поделиться на другие сайты
Aureus Опубликовано 21 декабря, 2012 Жалоба Поделиться Опубликовано 21 декабря, 2012 работает!!! (версия 2,15) спасибо. Цитата Ссылка на сообщение Поделиться на другие сайты
MaLeN Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 Файл products.tpl : {if $category->id == 5} {$wrapper = 'index2.tpl' scope=parent} {* Если нужна оболочка другая *} {include file='products2.tpl'} {* Шаблон для категории с АйДи = 5 *} {else} Код файла products.tpl {/if} а как без оболочки без ничего, просто вывести 1 категорию отдельно? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 а как без оболочки без ничего, просто вывести 1 категорию отдельно?$cat = $this->categories->get_category(7); Цитата Ссылка на сообщение Поделиться на другие сайты
MaLeN Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 $cat = $this->categories->get_category(7);знал бы я куда это вставлять Файл products.tpl : {if $category->id == 5} {$wrapper = 'index2.tpl' scope=parent} {* Если нужна оболочка другая *} {include file='products2.tpl'} {* Шаблон для категории с АйДи = 5 *} {else} Код файла products.tpl {/if} <!-- Меню каталога --> <div id="catalog_menu"> {* Рекурсивная функция вывода дерева категорий *} {function name=categories_tree} {if $category->id == 1171} <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)--> Вот так вставляю не пашет(( Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 знал бы я куда это вставлять <!-- Меню каталога --> <div id="catalog_menu"> {* Рекурсивная функция вывода дерева категорий *} {function name=categories_tree} {if $category->id == 1171} <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)--> Вот так вставляю не пашет((То нужно в php вставлять и будет работать лишь для одной категории. Куда проще так сделать: в view/IndexView.php после: $this->design->assign('categories', $this->categories->get_categories_tree(array('visible' => 1))); добавляем: $this->design->assign('all_categories', $this->categories->get_categories()); и теперь в шаблоне можно получать категории по иду таким способом: {$all_categories[7]} Цитата Ссылка на сообщение Поделиться на другие сайты
MaLeN Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 То нужно в php вставлять и будет работать лишь для одной категории. Куда проще так сделать: в view/IndexView.php после: $this->design->assign('categories', $this->categories->get_categories_tree(array('visible' => 1))); добавляем: $this->design->assign('all_categories', $this->categories->get_categories()); и теперь в шаблоне можно получать категории по иду таким способом: {$all_categories[7]} Белый экран тогда и ошибки Object of class stdClass could not be converted to string in /Smarty/libs/sysplugins/smarty_internal_templatebase.php(165) : eval()'d code on line 154 [11-Feb-2018 16:21:48 Europe/Moscow] PHP Catchable fatal error: Object of class stdClass could not be converted to string in /compiled/enar/13e68c93245ebafc598fb5a21f8bb760dc3f4dea.file.header.tpl.php on line 154 Цитата Ссылка на сообщение Поделиться на другие сайты
yr4ik Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 Ну так правильно! Выводите что хотите от нужной категории, а не просто {$all_categories[7]}. {$all_categories[7]->name} или {$all_categories[7]->url} Цитата Ссылка на сообщение Поделиться на другие сайты
MaLeN Опубликовано 11 февраля, 2018 Жалоба Поделиться Опубликовано 11 февраля, 2018 Ну так правильно! Выводите что хотите от нужной категории, а не просто {$all_categories[7]}. {$all_categories[7]->name} или {$all_categories[7]->url} большое спасибо, получилось. +100% к здоровью! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.