Вид товара в категории

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

siteapp M
siteapp M
Возраст: 32
Репутация: 7
Сообщения: 118
Зарегистрирован: 12.01.2016
С нами: 8 лет 2 месяца

Сообщение #1 siteapp » 18.04.2018, 15:48

Добрый день, подскажите в чём прикол:
Сижу гуляюсь с выбором просмотра товара
  • Табличный
  • Обычный
Но что то идёт не так.
Ввёл в products.tpl

Код: Выделить всё

<a onclick="document.cookie='view=table;path=/';document.location.reload();" href="javascript:;" title="Табличный">Табличный</a>
<a onclick="document.cookie='view=gallery;path=/';document.location.reload();" href="javascript:;" title="Компактный">Компактный</a> 

{if $smarty.cookies.view == 'table'}{* табличное отображение *}
{foreach $products as $p}
    {* Product list *}
     <div id="fn_products_content" class="fn_categories products clearfix">
        {include file="products_content_table.tpl"}
    </div>
{/foreach}
{/if}

{if $smarty.cookies.view == 'gallery'}{* табличное отображение *}
{foreach $products as $p}
    {* Product list *}
    <div id="fn_products_content" class="fn_categories products clearfix">
        {include file="products_content.tpl"}
    </div>
{/foreach}
{/if}

Где всё переключает отлично и выводит что мне надо.
Но проблема в том, что товары в категории допустим 5 штук, становиться 70 одинаковые.
То бишь 1 товар появляется примерно 14 раз в 1 категории.
Как с этим бороться?
:eh:

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 18.04.2018, 16:22

В стандартном products_content.tpl есть цикл
{foreach $products as $product}
<div class="no_padding products_item col-sm-6 col-xl-4">
{include file="product_list.tpl"}
</div>
{/foreach}
Поэтому у Вас в итоге получаются вложенные циклы, что явно неправильно.

А возможно, Вы и в products_content.tpl и в products_content_table.tpl что-нибудь наворочали...

siteapp M
siteapp M
Возраст: 32
Репутация: 7
Сообщения: 118
Зарегистрирован: 12.01.2016
С нами: 8 лет 2 месяца

Сообщение #3 siteapp » 18.04.2018, 17:28

korshunov писал(а):В стандартном products_content.tpl есть цикл
{foreach $products as $product}
<div class="no_padding products_item col-sm-6 col-xl-4">
{include file="product_list.tpl"}
</div>
{/foreach}
Поэтому у Вас в итоге получаются вложенные циклы, что явно неправильно.

А возможно, Вы и в products_content.tpl и в products_content_table.tpl что-нибудь наворочали...
Да верно там есть такое.
В products_content.tpl

Код: Выделить всё

{if $products}
    {foreach $products as $product}
        <div class="no_padding products_item col-sm-6 col-xl-4">
            {include file="product_list.tpl"}
        </div>
    {/foreach}
{else}
    <span data-language="products_not_found">{$lang->products_not_found}</span>
{/if}


В product_list.tpl

Код: Выделить всё

{* Product preview *}
<div class="preview fn_product">
    <div class="fn_transfer clearfix">

        {* Product image *}
        <a class="preview_image" href="{if $smarty.get.module=='ComparisonView'}{$product->image->filename|resize:800:600:w}{else}{$lang_link}products/{$product->url}{/if}" {if $smarty.get.module=='ComparisonView'}data-fancybox="group" data-caption="{$product->name|escape}"{/if}>
            {if $product->image->filename}
                <img class="fn_img preview_img" src="{$product->image->filename|resize:200:200}" alt="{$product->name|escape}" title="{$product->name|escape}"/>
            {else}
                <img class="fn_img preview_img" src="design/{$settings->theme}/images/no_image.png" width="250" height="250" alt="{$product->name|escape}"/>
            {/if}
            {if $product->special}
                <img class="promo_img" src='files/special/{$product->special}' alt='{$product->special|escape}' title="{$product->special|escape}"/>
            {/if}
        </a>

        {* Product name *}
        <a class="product_name" data-product="{$product->id}" href="{$lang_link}products/{$product->url}">{$product->name|escape}</a>

        <div class="price_container">
            {* Old price *}
            <div class="old_price{if !$product->variant->compare_price} hidden{/if}">
                <span class="fn_old_price">{$product->variant->compare_price|convert}</span> <span>{$currency->sign|escape}</span>
            </div>

            {* Price *}
            <div class="price">
                <span class="fn_price">{$product->variant->price|convert}</span> <span>{$currency->sign|escape}</span>
            </div>
        </div>

       
    </div>
</div>
:eh:

siteapp M
siteapp M
Возраст: 32
Репутация: 7
Сообщения: 118
Зарегистрирован: 12.01.2016
С нами: 8 лет 2 месяца

Сообщение #4 siteapp » 19.04.2018, 13:43

Нашёл косяк, спасибо
:eh:


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Вопросы по работе с OkayCMS»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 40 гостей