Автор Тема: вывести количество товаров в категории prestashop 1.7  (Прочитано 2286 раз)

11 Декабрь 2017, 13:14:28
  • Новичок
  • *
  • Сообщений: 16
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день, с престой только начинаю знакомится, использую classic тему, в ней был изменен файл category.tpl что бы при нажатии на категории выводились дочерние категории. Как можно сделать что бы в названии дочерних категорий показывалось еще количество товаров?
содержимое файла category.tpl
{extends file='catalog/listing/product-list.tpl'}
{block name='product_list_header'}
    <div class="block-category card card-block hidden-sm-down">
        <h1 class="h1">{$category.name}</h1>
        {if $category.description}
            <div id="category-description" class="text-muted">{$category.description nofilter}</div>
            <div class="category-cover">
                <img src="{$category.image.large.url}" alt="{$category.image.legend}">
            </div>
        {/if}
    </div>
    <div class="text-xs-center hidden-md-up">
        <h1 class="h1">{$category.name}</h1>
    </div>
    {if isset($subcategories)}
        <!-- Subcategories -->
        <div id="subcategories">
            <ul class="clearfix">
                {foreach from=$subcategories item=subcategory}
                    <li>
                        <div class="subcategory-image">
                            <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">
                                {if $subcategory.id_image}
                                    <img class="replace-2x" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'category_default')|escape:'html':'UTF-8'}" />
                                {else}
                                    <img class="replace-2x" src="{$img_cat_dir}{$lang_iso}-default-category_default.jpg" alt="{$subcategory.name|escape:'html':'UTF-8'}"/>
                                {/if}
                            </a>
                            <div style="text-align: center; height: 90px;"><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'}</a></div>
                        </div>
                       
                        {if $subcategory.description}
                            <div class="cat_desc">{$subcategory.description}</div>
                        {/if}
                    </li>
                {/foreach}
            </ul>
        </div>
    {/if}
{/block}
11 Декабрь 2017, 13:28:28
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.7 готовая функция для определения количества товара только для вебсервиса - getWsNbProductsRecursive().
Можно с помощью этой функции в контроллере оппеделять переменную шаблона и использовать ее в файле tpl.
11 Декабрь 2017, 13:35:06
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
{$listing.products|count}для каждой категории
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
11 Декабрь 2017, 14:09:55
Ответ #3
  • Новичок
  • *
  • Сообщений: 16
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
для каждой категории
проблема если добавить так строчку то он покажет общее количество товаров, но не количество в дочерних категориях
11 Декабрь 2017, 15:42:02
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Переопределять контроллер нужно, чтобы разделить дочернии категории. В базовом контроллере нет метода для определения количества товаров. getWsNbProductsRecursive не подойдет.
11 Декабрь 2017, 15:51:51
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Раньше была переменная шаблона 'nbProducts', попробуйте с ней. Может быть в prestashop 1.7 она осталась.