Как отобразить пустые msProductOptions у товара?

Много вопросов как скрыть находил.
Видимо раньше они показывались, но теперь пустые скрываются автоматически.
А как тогда наоборот показывать все товарные опции не смотря на пустоту?
Sergey Leleko
14 июля 2018, 13:48
modx.pro
1 397
0

Комментарии: 5

Баха Волков
15 июля 2018, 09:05
+1
Покажите чанк вывода
    Sergey Leleko
    17 июля 2018, 12:07
    0
    {foreach $options as $option}
        <li>{$option.caption} : <b>
    
            {foreach $option.value as $value}
                {if $value == 1}
                Есть
                {else}
                {$value}
                {/if}
            {/foreach}
    
        </b></li>
    {/foreach}
    Вот он простой, можно сказать стандартный и вот вывод самого продукта в quickview ^
    <!-- popup окно с продукцией из секции "лучшие цены" -->
    <!-- <div class="hidden"> -->	
    	<div id="msProduct">
    		<div class="container" >
    			<div class="row">
    				<div class="col-lg-10 col-md-10 col-sm-12 col-xs-12 col-md-offset-1 col-lg-offset-1">
    					<div class="prod-buy-wrap clearfix">
    						<button data-fancybox-close class="fancybox-close-small" title></button>
    						<div class="col-lg-4 col-md-4 col-sm-12 col-xs-12 pln">
    							<!-- <img src="assets/theme/img/product-image.jpg" alt=""> -->
    							{'!msGallery'|snippet}
    						</div>
    						<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 prn">
    						    <form class="form-horizontal ms2_form" method="post">
    						        <input type="hidden" name="id" value="[[*id]]"/>
    							<h4>{$_modx->resource.pagetitle}</h4>
    							<span class="price">{$price} руб./кг.</span>
    							{$_modx->resource.content}
    							[[msOptions?options=`color,size`]]
    							<ul>
    							{'msProductOptions'|snippet :[
    							    'tpl' => 'inox.msProductOptions',
    							    
    							]}
    							</ul>
    							<!-- 
    							<ul>
    								<li>Наличие на складе : <b>Есть</b></li> 
    								<li>Материал : <b>Нержавеющая сталь</b></li>
    								<li>Марка стали : <b>Нержавеющая сталь</b></li>
    								<li>Тип поверхности : <b>Нержавеющая сталь</b></li>
    								<li>Размеры : <b>16 мм</b></li>
    							</ul>
    							-->
    
    							<div class="count-wrap">
    								<div class="length">
    									<span>длина, м</span>
    									<input type="text" value="0">
    								</div>
    
    								<div class="weight">
    									<span>вес, кг</span>
    									<input type="text" value="0">
    								</div>
    
    								<a href="#" class="clean">очистить поля</a>
    							</div>
    
    							<button type="submit" class="add-to-cart" name="ms2_action" value="cart/add">Добавить в корзину</button>
    							<a href="{$_modx->resource.alias}" class="prod-more">Подробнее</a>
                                </form>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    	</div>
    <!-- </div> -->
    <!-- popup окно с продукцией из секции "лучшие цены" -->
      Sergey Leleko
      17 июля 2018, 12:34
      0
      Почистил от мусора
      <div id="msProduct">
      		<div class="container" >
      			<div class="row">
      				<div class="col-lg-10 col-md-10 col-sm-12 col-xs-12 col-md-offset-1 col-lg-offset-1">
      					<div class="prod-buy-wrap clearfix">
      						<button data-fancybox-close class="fancybox-close-small" title></button>
      						<div class="col-lg-4 col-md-4 col-sm-12 col-xs-12 pln">
      			
      							{'!msGallery'|snippet}
      						</div>
      						<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12 prn">
      						    <form class="form-horizontal ms2_form" method="post">
      						        <input type="hidden" name="id" value="[[*id]]"/>
      							<h4>{$_modx->resource.pagetitle}</h4>
      							<span class="price">{$price} руб./кг.</span>
      							{$_modx->resource.content}
      							[[msOptions?options=`color,size`]]
      							<ul>
      							{'msProductOptions'|snippet :[
      							    'tpl' => 'inox.msProductOptions',
      							    
      							]}
      							</ul>
      
      
      							<div class="count-wrap">
      								<div class="length">
      									<span>длина, м</span>
      									<input type="text" value="0">
      								</div>
      
      								<div class="weight">
      									<span>вес, кг</span>
      									<input type="text" value="0">
      								</div>
      
      								<a href="#" class="clean">очистить поля</a>
      							</div>
      
      							<button type="submit" class="add-to-cart" name="ms2_action" value="cart/add">Добавить в корзину</button>
      							<a href="{$_modx->resource.alias}" class="prod-more">Подробнее</a>
                                  </form>
      						</div>
      					</div>
      				</div>
      			</div>
      		</div>
      	</div>
        Баха Волков
        17 июля 2018, 16:50
        0
        Мда… Оказывается miniShop2 преобразился и в хорошую сторону. Раньше помнится мне, что приходил массив со всеми опциями товаров и уже в чанке проверку производить нужно было заполнено ли оно (могу ошибаться), сейчас приходит массив только с теми свойствами которые заполнены.

        Решение

        Написать сниппет, который узнавал бы все доступные опции категории товара, и скормить ему массив с msProductOptions, ну и вывести
          Sergey Leleko
          19 июля 2018, 07:20
          0
          Спасибо, сделал проще просто опции со значениями Есть и Нет)
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5