Вывод элементов иерархии второго уровня в модуле Products
-
- Forum Members
- Posts: 76
- Joined: Sat Dec 06, 2008 3:05 pm
Вывод элементов иерархии второго уровня в модуле Products
Делаю магазин с использованием модуля Products. Вывожу в меню список элементов иерархии первого уровня вот такой конструкцией {Products action="hierarchy" hierarchytemplate="simle_list"}.
Если зайти в элемент иерархии в котором нет товаров, но есть под элементы, то ничего не выдает, и массив $hierdata тоже пуст.
Вопрос: как выводить элементы иерархии второго уровня (подкатегории) для категорий в которых нет товаров.
Если зайти в элемент иерархии в котором нет товаров, но есть под элементы, то ничего не выдает, и массив $hierdata тоже пуст.
Вопрос: как выводить элементы иерархии второго уровня (подкатегории) для категорий в которых нет товаров.
Re: Вывод элементов иерархии второго уровня в модуле Product
Тоже интересно - как выводить дочерние элементы иерархии, если находитесь на странице родительской иерархии??Hippy-core wrote:Делаю магазин с использованием модуля Products. Вывожу в меню список элементов иерархии первого уровня вот такой конструкцией {Products action="hierarchy" hierarchytemplate="simle_list"}.
Если зайти в элемент иерархии в котором нет товаров, но есть под элементы, то ничего не выдает, и массив $hierdata тоже пуст.
Вопрос: как выводить элементы иерархии второго уровня (подкатегории) для категорий в которых нет товаров.
И если иерархия 2-х, 3-х уровневая...
Re: Вывод элементов иерархии второго уровня в модуле Product
Есть один способ.
"Пилите, Шура, пилите!"
PS
Посмотрев код Products очень удивился. Когда мы попадаем в иерархию, в которой нет ни одного элемента, нас просто выкидывает из модуля (даже без обработки шаблона!!!!)
"Пилите, Шура, пилите!"
PS
Посмотрев код Products очень удивился. Когда мы попадаем в иерархию, в которой нет ни одного элемента, нас просто выкидывает из модуля (даже без обработки шаблона!!!!)
Code: Select all
// Execute the Queries
$count = $db->GetOne($query2,$paramarray);
if( $count == 0 ) return;
Re: Вывод элементов иерархии второго уровня в модуле Product
И что это даст? Код нужно вставлять в обработчик?guro wrote:Есть один способ.
"Пилите, Шура, пилите!"
PS
Посмотрев код Products очень удивился. Когда мы попадаем в иерархию, в которой нет ни одного элемента, нас просто выкидывает из модуля (даже без обработки шаблона!!!!)Code: Select all
// Execute the Queries $count = $db->GetOne($query2,$paramarray); if( $count == 0 ) return;
Я уже решил вывести просто все категории, чтобы не лазить по ним. Теперь интересно - как сделать так, чтобы те, у которых есть дети - стали неактивными?
В шаблоне они выводятся с классом "parent"
Re: Вывод элементов иерархии второго уровня в модуле Product
Код, который я привел, никуда вставлять не надо. Это часть кода модуля Products.sbupravi wrote:И что это даст? Код нужно вставлять в обработчик?
В шаблоне можете использовать вот такую проверкуsbupravi wrote:Я уже решил вывести просто все категории, чтобы не лазить по ним. Теперь интересно - как сделать так, чтобы те, у которых есть дети - стали неактивными?В шаблоне они выводятся с классом "parent"
Code: Select all
{if isset($item.children) }
...
{/if}
Re: Вывод элементов иерархии второго уровня в модуле Product
{if isset($item.children) } - я тоже пробовал. Это проверка "если родитель", а как наоборот, проверить, если "не родитель"?guro wrote:Код, который я привел, никуда вставлять не надо. Это часть кода модуля Products.sbupravi wrote:И что это даст? Код нужно вставлять в обработчик?В шаблоне можете использовать вот такую проверкуsbupravi wrote:Я уже решил вывести просто все категории, чтобы не лазить по ним. Теперь интересно - как сделать так, чтобы те, у которых есть дети - стали неактивными?В шаблоне они выводятся с классом "parent"и элементы, которые имеют детей, выводить без обёртки в тег "<a href=..."Code: Select all
{if isset($item.children) } ... {/if}
И насчет иерархии - так и не понял. Есть возможность лазить по ней? Я заметил все дело в ссылке hierarchy (дочерние видны) или byhierarchy (дочерние пути не видны)
Re: Вывод элементов иерархии второго уровня в модуле Product
sbupravi wrote:{if isset($item.children) } - я тоже пробовал. Это проверка "если родитель", а как наоборот, проверить, если "не родитель"?
Code: Select all
{if ! isset($item.children) }
Толком - нет.sbupravi wrote:И насчет иерархии - так и не понял. Есть возможность лазить по ней?
Но, тогда при hierarchy не показываются товары, а при byhierarchy - показываются. Вот и получается, что либо работать через hierarchy и видеть список подкатегорий, но не видеть конечных товаров. Либо, работать через byhierarchy и не видеть списка подкатегорий, но видеть конечные товары.sbupravi wrote:Я заметил все дело в ссылке hierarchy (дочерние видны) или byhierarchy (дочерние пути не видны)
PS
Именно из-за этой проблемы я не использую Products для сайтов с разветвленной структурой категорий.
Re: Вывод элементов иерархии второго уровня в модуле Product
Весело. У меня сайт мультиязычный. Так бы использовал Cataloger.
А как ограничить вывод, скажем последних 3-х элементов? В доке не нашел.
А как ограничить вывод, скажем последних 3-х элементов? В доке не нашел.
Re: Вывод элементов иерархии второго уровня в модуле Product
В Products или Cataloger?sbupravi wrote:А как ограничить вывод, скажем последних 3-х элементов?
Re: Вывод элементов иерархии второго уровня в модуле Product
В Products - последние 3!?guro wrote:В Products или Cataloger?sbupravi wrote:А как ограничить вывод, скажем последних 3-х элементов?
Re: Вывод элементов иерархии второго уровня в модуле Product
Вариант 1:
Вариант 2:
В суммарном шаблоне
Code: Select all
{Products sortby="id" sortorder="desc" countitems="3"}
В суммарном шаблоне
Code: Select all
...
{foreach from=$items item=entry name="f"}
{if $smarty.foreach.f.iteration > ($smarty.foreach.f.total - 3)}
...
{/if}
{/foreach}