Как показать сообщение, если в категории нет товаров с плагином exp:resso store?

Я использую последнюю версию EE2 и плагин под названием Exp:resso store.

У меня есть продукты, отнесенные к категории, и по большей части все это работает нормально. Ниже мой код:

<div class="col-md-7">
    {exp:channel:categories channel="products" style="linear"}
    <section class="section accordion repeater">
        <h3>
            {category_name}
            <div class="icon">
                <img src="/assets/local/img/plus-icon.jpg" alt="">
            </div>
        </h3>
        <div class="accordion-content">
            {exp:store:search orderby="title" sort="asc" category="{category_id}"}
                {exp:store:product entry_id="{entry_id}"}
                <p class="accordion-download">
                    <a href="#">{title} - {price}</a>
                    <span><a href="#"><img src="/assets/local/img/add-to-cart.jpg" alt="">Add to cart</a></span>
                </p>
                {/exp:store:product}                
            {/exp:store:search}                     
        </div>
    </section>
    {/exp:channel:categories}
</div>

Я пытаюсь найти способ показать No products exist сообщение, если у категории нет ничего внутри. Я пытался использовать {count}, {total_results} & {total_rows} проверить, нет ли каких-либо продуктов. Проблема в том, что все, что я пытаюсь сделать, явно неверно, потому что ничего не получается:/

заранее спасибо

1 ответ

Решение

Тег поиска магазина представляет собой обертку для пары тегов записей канала, поэтому вам необходимо использовать {if no_results} пара тегов.

<div class="col-md-7">
    {exp:channel:categories channel="products" style="linear"}
    <section class="section accordion repeater">
        <h3>
            {category_name}
            <div class="icon">
                <img src="/assets/local/img/plus-icon.jpg" alt="">
            </div>
        </h3>
        <div class="accordion-content">
            {exp:store:search orderby="title" sort="asc" category="{category_id}"}
                {exp:store:product entry_id="{entry_id}"}
                <p class="accordion-download">
                    <a href="#">{title} - {price}</a>
                    <span><a href="#"><img src="/assets/local/img/add-to-cart.jpg" alt="">Add to cart</a></span>
                </p>
                {/exp:store:product}
                {if no_results}
                  There are no products
                {/if}
            {/exp:store:search}                     
        </div>
    </section>
    {/exp:channel:categories}
</div>

Следует также упомянуть, что если вы не создаете форму для добавления продуктов в корзину, вы можете использовать {store_field_short_name:price} переменная, чтобы уменьшить количество запросов на вашей странице. Доступ к большинству сохраненных вещей, таких как sku, вес, измерения, можно получить с помощью короткого имени поля с последующим :variable

Другие вопросы по тегам