msGallery в списке товаров msProducts
Вывожу в категории все картинки товара.
При использовании msGallery в списке товаров показывает только первый товар, далее где должен идти контейнер с другим товаром — идет пустой контейнер msGallery
Вывожу сниппет
Чанк main.row
При использовании msGallery в списке товаров показывает только первый товар, далее где должен идти контейнер с другим товаром — идет пустой контейнер msGallery
Вывожу сниппет
<ul class="product-card">
[[!msProducts?
&tpl=`main.row`
&limit=`0`
&parents=`[[*id]]`
&showHidden=`1`
]]
</ul>
<li class="item-card ms2_product">
{if $thumb?}
[[!msGallery? &tpl=`msGallery` &product=`[[+id]]` ]]
{else}
<div class="card-gallery col-xs-12 col-sm-7 col-md-8 col-lg-6">
<div class="gallery-mainBlock">
<div class="gallery-item" style="background-image: url('{'assets_url' | option}components/minishop2/img/web/ms2_small.png')"></div>
</div>
</div>
{/if}
<div class="card-content col-xs-12 col-sm-5 col-md-4 col-lg-6">
<div class="item-card-title"><h3>{$pagetitle}</h3></div>
<div class="item-card-detail">
<p>Арт. [[+article]]</p>
<p>Габариты 520х705мм</p>
</div>
<div class="item-card-price">
<div class="price"><span class="price_num">{$price}</span> <i class="fa fa-rub"></i></div>
</div>
<div class="item-card-control">
<label class="btn-l b-yellow a-antiman">
<form method="post" class="ms2_form">
<input type="submit" name="ms2_action" value="cart/add"><span>Купить</span>
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="count" value="1">
<input type="hidden" name="options" value="[]">
</form>
</label>
</div>
</div>
</li>
Выводится только первый товар, а дальше идут пустые контейнеры msGallery по количеству товаров.<div id="msGallery" class="card-gallery col-xs-12 col-sm-7 col-md-8 col-lg-6">
</div>
Помогите разобраться.Комментарии: 2
Решил вот такой конструкцией
в msGallery все проще было
<div id="msGallery[[+id]]" class="card-gallery col-xs-12 col-sm-7 col-md-8 col-lg-6">
<div class="gallery-mainBlock">
[[!pdoResources?
&class=`msProductFile`
&tpl=`@INLINE <div class="gallery-item" style="background-image: url('{$url}')"></div>`
&where=`{"product_id":[[+id]], "parent":0, "rank":0}`
&limit=`1`
&sortby=`id`
&sortdir=`asc`
]]
</div>
<div class="gallery-items">
[[!pdoResources?
&class=`msProductFile`
&tpl=`@INLINE <div class="gallery-item" style="background-image: url('{$url}')"></div>`
&where=`{"product_id":[[+id]], "parent":0}`
&sortby=`id`
&sortdir=`asc`
]]
</div>
</div>
но не нравится, что два раза сниппет приходится вызывать.в msGallery все проще было
<div id="msGallery[[+id]]" class="card-gallery col-xs-12 col-sm-7 col-md-8 col-lg-6">
{if $files?}
<div class="gallery-mainBlock">
<div class="gallery-item" style="background-image: url('{$files[0]['url']}')"></div>
</div>
<div class="gallery-items">
{foreach $files as $file}
<div class="gallery-item" style="background-image: url('{$file['url']}')"></div>
{/foreach}
</div>
{/if}
</div>
Мог бы условие поставить в чанке с помощью fenom и тогда можно было бы сделать 1 вызов сниппета и внутри шаблоны нужные подставлять в зависимости от rank
Спасибо за решение, тоже тупил с выводом 1 товара в msProducts с msGallery внутри
Спасибо за решение, тоже тупил с выводом 1 товара в msProducts с msGallery внутри
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.