Проверка по значению TV полю

Ребята, всем привет!
Суть моего обращения в следующим, сделал проверку по тв параметру, если значение 1 то выводить кнопка «Добавить в корзину» если значение тв параметра 0 то выводиться кнопка «Заказать товар», так вот в самой карточке товара работает. (см.скриншоты prntscr.com/jwrjc9 prntscr.com/jwrkg7)

А вот в категории не работает, при проверки тв параметра, у всех товаров ставит 0.
Данный товар есть в наличии, вот он в категории prntscr.com/jwrl3x а вот он в карточке товара prntscr.com/jwrljl

Вот сам код который проверяет ТВ поле и формирует кнопки и надпись Да, Нет.
[[*check:is=`1`:then=`[[$yes]]`:else=`[[$no]]`]]
имя тв поля — check
чанк yes = выводит кнопку добавить в корзину
чанк no = заказать товар

Помогите плз. уже 3 часа голову ломаю.
Дмитрий Беляков
19 июня 2018, 14:34
modx.pro
3 741
0

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

Павел Романов
19 июня 2018, 17:47
0
Если выводите pdoResources или чем-то аналогичным (mFilter2 и т. д.), в &tpl-чанке TV-поля через плюс и префикс выводятся:

[[+tv.check:is=`1`:then=`[[$yes]]`:else=`[[$no]]`]]

И еще оно должно быть прописано в параметре &includeTVs
    Андрей
    19 июня 2018, 17:47
    0
    Твшка должна быть подключена в вызове — &includeTVs=`check`. Плейсхолдер [[*check]] — в шаблоне, [[+check]] — в категории, также в зависимости от того чем выводите каталог, у твшки возможен префикс — [[+tv.check]]. Скорее всего заработает так:

    [[+tv.check:is=`1`:then=`[[$yes]]`:else=`[[$no]]`]]

    Или например если вывод сделан через msProducts, то у него tvPrefix по умолчанию пустой, тогда tv. — добавлять не надо.
      Дмитрий Беляков
      19 июня 2018, 17:50
      0
      Вывожу через pdoPage в нем указал параметр &includeTVs
      пробовал и так +tv.check: и так +check не помогает
        Павел Романов
        19 июня 2018, 17:52
        0
        Покажите вызов и код чанка, который прописан в &tpl.
        А еще что у Вас в [[$yes]] и [[$no]]?
        Дмитрий Беляков
        19 июня 2018, 17:52
        0
        [[!pdoPage?
        &parents=`[[*id]]`
        &element=`msProducts`
        &limit=`25`
        &includeTVs=`check`
        &depth=`2`
        &sortby_=`[[+DetectGetBy]]`
        &sortdir_=`[[+DetectGetDir]]`
        &sortby=`[[+DetectGetBy]]`
        &loadModels=`msoptionsprice`
        &ajaxMode=`button`
        ]]
          Дмитрий Беляков
          19 июня 2018, 17:54
          0
          Вот код чанка tpl.msProducts.row

          {$_modx->lexicon->load('minishop2:product')}
          <div class="row ms2_product goods">
          <a href="/{$id | url}">
          <img src="/galere/[[+article]].jpg" alt="{$pagetitle}" title="{$pagetitle}" class="cardsImg"/>
          <h2><a href="/{$id | url}">{$pagetitle}</a></h2>
          <form method="post" class="ms2_form msoptionsprice-product product">
          <input type="hidden" name="id" value="[[+id]]"/>
          <input type="hidden" name="count" value="1"/>
          <div class="form-group prices">
          <label style="display:none;" class="col-md-2 control-label">[[%ms2_product_price]]:</label>
          <div class="form-control-static">
          <span  class='msoptionsprice-cost msoptionsprice-[[+id]]'>{$price} {'ms2_frontend_currency' | lexicon} </span>
          {if $old_price?} <span class="old_price">{$old_price} {'ms2_frontend_currency' | lexicon}</span> {/if}
          </div>
          </div>
          [[+tv.check:is=`1`:then=`[[$yes]]`:else=`[[$no]]`]]
          </form>
          </a>
          </div>
            Дмитрий Беляков
            19 июня 2018, 17:55
            0
            Чанк $no
            <div class="form-group">
            <div class="check_goods"><span>В наличии: </span><label><i class='no'>Нет</i></label></div>
            <div class="col-md-offset-2 col-md-10">
            <button type="submit" class="btn btn-default add_basket" name="ms2_action" value="cart/add">                
            <i class="glyphicon glyphicon-barcode"></i>Заказать товар</button>
            </div>
            </div>
            Чанк $yes

            <div class="form-group">
            <div class="check_goods"><span>В наличии: </span><label><i class='no'>Да</i></label></div>
            <div class="col-md-offset-2 col-md-10">
            <button type="submit" class="btn btn-default add_basket" name="ms2_action" value="cart/add">                
            <i class="glyphicon glyphicon-barcode"></i> [[%ms2_frontend_add_to_cart]]
            </button>
            </div>
            </div>
            Дмитрий Беляков
            19 июня 2018, 19:10
            0
            Проблему решил. Только теперь во внутренних категориях все работает. А вот на главной стр. продолжается катавасия.
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              11