В категории вывести подкатегории с товарами Есть решение

Здравствуйте.

Подскажите пожалуйста, как в категории вывести названия подкатегории и ниже каждой подкатегории продукты входящие в эту категорию.

так у меня выводятся названия подкатегорий со счетчиком

{foreach $category.subcategories as $sc name=foo}
<li><a href="{$sc.url}">{$sc.name|escape} <span>{$sc.count}</span></a></li
{/foreach}

так вывожу товары

{foreach $products as $p}

...

{/foreach}

а как их связать я не пойму, как только не пробовал.




7 ответов

  • 1
    Алексей Webasyst 1 сентября 2015 06:39 #

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

    Вариант 2-й более ресурсоёмкий. В вашем шаблоне для каждой подкатегории получать список продуктов через код вида {$products=$wa->shop->products('category/41')} и выводить товары далее.

    • +1
      Дмитрий Юрьевич Дмитрий Юрьевич 1 сентября 2015 07:14 #

      Большое спасибо за ответ.

      А подскажите пожалуйста как сделать 1 вариант, без фильтра, что бы они выводились по порядку как есть(под-категория а ниже товары)

      В админке я включил отображение товаров из под-категорий, но ничего не получается, подскажите пожалуйста что я делаю не так

      {foreach $category.subcategories as $sc name=foo}
      <a href="{$sc.url}">{$sc.name|escape} <span>{$sc.count}</span></a>

      {foreach $sc.childs as $p}

      ------ Здесь картинка, цена и тд.-----

      {/foreach}

      {/foreach}

  • 1
    Дмитрий Юрьевич 1 сентября 2015 17:30 #

    а можно ли через {$products=$wa->shop->products('category/41')} прописать вывод с текущей подкатегории

    то-есть

    {foreach $category.subcategories as $sc name=foo}
    <a href="{$sc.url}">{$sc.name|escape} <span>{$sc.count}</span></a>

    {$products=$wa->shop->products('category/41')}


    {foreach $products as $p}

    ------ Здесь картинка, цена и тд.-----

    {/foreach}

    {/foreach}

    только вместо ('category/41') как то задать вывод товаров из подкатегорий

  • 2
    Дмитрий Юрьевич 2 сентября 2015 12:41 # Решение

    Сам задал вопрос, сам решил, хотя и долго, но оказалось все легко

    {foreach $category.subcategories as $sc name=foo}
    <a href="{$sc.url}">{$sc.name|escape} <span>{$sc.count}</span></a>

    {$products=$wa->shop->products('category/$sc.id')}


    {foreach $products as $p}

    ------ Здесь картинка, цена и тд.-----

    {/foreach}

    {/foreach}
  • 1
    Виктор 1 января 2016 22:07 #

    Хочу вывести товары из текущей категории в следующем массиве:

    {foreach $categories as $tc_id => $top_category}
                  {if count($top_category.childs)>0}
                  {foreach $top_category.childs as $child_category name=child_categories}
                  <div class="col-sm-8">
                    <ul id="menu_main" class="list-unstyled">
                        <li>
                            <img alt="" src="{$wa_theme_url}img/ico_menu_main.png">
                            <span><a href="{$child_category.url}">{$child_category.name|escape}</a></span>
                            <ul class="list-unstyled" id="in_menu_main">
                                {$products=$wa->shop->products('category/$child_category.id')}
                                {foreach $products as $p}
                                    <li><a href="{$p.frontend_url}" title="{$p.name}">{$p.name}</a></li>
                                {/foreach}
                            </ul>
                        </li>
                    </ul>
                  </div>
                  {/foreach}
                  {/if}
                  {/foreach}

    Но почему-то не срабатывает {$products=$wa->shop->products('category/$child_category.id')}, как правильно указать id текущей категории?

  • 1

    Может кому помогу, возможно и не лучший вариант но работает.

    $wa->shop->products('category/'|cat:$sc.id)}

    То биш через склейку

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите