msGallery в списке товаров msProducts Новый


Вывожу в категории все картинки товара.
При использовании msGallery в списке товаров показывает только первый товар, далее где должен идти контейнер с другим товаром — идет пустой контейнер msGallery

Вывожу сниппет
<ul class="product-card">
[[!msProducts?
    &tpl=`main.row`   
    &limit=`0`
    &parents=`[[*id]]`
    &showHidden=`1`
]]
</ul>

Чанк main.row

                                           <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>
Помогите разобраться.

11 октября 2016, 15:58    Антон Левиц   
1    484 0

Комментарии (2)

  1. Антон Левиц 11 октября 2016, 18:22 # 0
    Решил вот такой конструкцией

    <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>     
    
    1. Max Roganov 27 ноября 2016, 00:10 # 0
      Мог бы условие поставить в чанке с помощью fenom и тогда можно было бы сделать 1 вызов сниппета и внутри шаблоны нужные подставлять в зависимости от rank
      Спасибо за решение, тоже тупил с выводом 1 товара в msProducts с msGallery внутри
      Вы должны авторизоваться, чтобы оставлять комментарии.