Ломаются шаблоны и условия после применения сортировки tagmanager



  • Привет.
    Странно ведёт себя сортировка tagmanager - после применения сортировки ломается шаблон вывода:
    alt text
    Код чанка такой:

    [[!+isfolder:is=`1`:then=`
    <div class = "col-md-3 col-sm-4 col-xs-6">
        <div class = "item">
            <div class = "category-image">
                <a href = "[[~[[+id]]]]"><img src = "[[!phpThumbOn? &input = `[[+tv.catalog_img]]` &options = `w=250&h=250&far=1`]]" alt = "[[+pagetitle]]"></a>
            </div>
            <div class = "category-title">
                <h3><a href = "[[~[[+id]]]]">[[+pagetitle]]</a></h3>
            </div>
        </div>
    </div>
    `:else=`
                                        <div class = "col-md-4 col-sm-6 col-xs-12">
                                            <div class="product shk-item">
                                            <form action="[[~[[*id]]? &scheme=`abs`]]" method="post">
                                                <input type="hidden" name="shk-id" value="[[+id]]" />
                                                <input type="hidden" name="shk-count" value="1" />
                                                <input type="hidden" name="shk-finalPrice" value="[[!calcCurrency? &toPlaceholder = `0` &value = `[[+tv.price]]` &rate = `[[!getCurrencyRates?  &source = `2` &currency = `[[+tv.currency]]`]]`]]" />
                                                    <div class="product-image">
                                                         <a href = "[[~[[+id]]]]"><img src = "[[!phpThumbOn? &input = `[[+tv.product_img]]` &options = `w=285&h=150` &far = `C`]]" alt = "[[+pagetitle]]"></a>
                                                    </div>
                                                    <div class="product-title">
                                                        <h3>[[+pagetitle]]</h3>
                                                    </div>
                                                    <div class="product-descr">
                                                        [[+introtext:ellipsis=`100`]]
                                                    </div>
                                                    <div class="price">
                                                        [[+tv.price_old:ne=``:then=`]<span class = "oldprice">[[+tv.price_old:num_format]] руб. </span>`]][[!calcCurrency? &value = `[[+tv.price]]` &rate = `[[!getCurrencyRates?  &source = `2` &currency = `[[+tv.currency]]`]]`]] [[+finalPrice:num_format]]<span> руб.</span>
                                                    </div>
                                                    <div class="product-button">
                                                        <button type = "submit" class = "btn-buy">В корзину</button>
                                                        <a href = "[[~[[+id]]]]">Подробнее о товаре</a>
                                                    </div>
                                                </form>
                                            </div>
                                        </div><!--/.item-->
    `]]
    
    

    В чём здесь может быть проблема?


  • Администраторы

    [[!phpThumbOn? &input = `[[+tv.catalog_img]]` &options = `w=250&h=250&far=1`]]
    

    Зачем тут столько пробелов? Я не уверен, что парсер MODX может нормально это воспринимать.

    https://docs.modx.com/revolution/2.x/making-sites-with-modx/structuring-your-site/using-snippets
    Тут можно увидеть где можно ставить пробелы.

    Не хватает информации
    http://forum.modx-shopkeeper.ru/topic/15/рекомендации-по-оформлению-темы-с-вопросом



  • @Andchir
    Пробелы убрал, ситуацию не изменило.
    Больше информации:
    MODx 2.5.5
    Shopkeeper3, tagManager2
    Вот полный кусок кода с вызовом сниппетов, и форма фильтрации:

                        <div class="col-md-9 col-sm-8 col-xs-12">
                            [[$page-top]]
                            <div class = "row">
                                [[!pdoResources?
                                    &depth = `1`
                                    &limit = `1`
                                    &tpl = `tplTpl`
                                    &toPlaceholder = `tpl`
                                ]]
                                [[+tpl:is=`4`:then=`
                                    <div class = "col-xs-12">
                                        <div class = "sorting">
                                            <div class = "row">
                                                <div class = "col-md-9">
                                                    <b>Сортировать: </b>
                                                    <select class="f_sortby" name="sortby" onchange="tmFilters.changeOrder(this);">
                                                        <option value="menuindex">По умолчанию</option>
                                                        <option value="pagetitle">По названию</option>
                                                        <option value="price">По цене</option>
                                                        <option value="publishedon">По дате</option>
                                                    </select>
                                                    <select class="f_sortdir" name="sortdir" onchange="tmFilters.changeOrder(this);">
                                                        <option value="asc">По возрастанию</option>
                                                        <option value="desc">По убыванию</option>
                                                    </select>
                                                </div>
                                                <div class="col-md-3 text-right">
                                                    <span id = "viewSwitch">
                                                    <a rel="nofollow" class = "active" role = "button"><i class="fa fa-th" aria-hidden="true"></i></a>
                                                    <a rel="nofollow" role = "button"><i class="fa fa-list-ul" aria-hidden="true"></i></a>
                                                    <a rel="nofollow" role = "button"><i class="fa fa-bars" aria-hidden="true"></i></a>
                                                    </span>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                `]]
                            </div>
                            <div id="filters" style = "display:none;">
                                <form action="[[~[[*id]]]]" method="get">
                            
                                <input type="hidden" name="page_id" value="[[*id]]" disabled="disabled" />
                            
                                    [[!tmFilters]]
                            
                                    <button type="button" onclick="tmFilters.resetFilters(); return false;">Сбросить</button>
                                </form>
                            </div>
                            <div class="row">
                                <div class = "categories" id = "products">
                                    [[!tmCatalog]]
                                </div>
                            </div>
                            [[$brands]]
                        </div><!--/.col-md-9-->
    

  • Администраторы

    Если включен парсер pdoTools, попробуйте его выключить.



  • @Andchir
    Удалил pdotools, проблема сохранилась.



  • @Andchir
    И да, при выключенном ajax всё нормально.


  • Администраторы

    [[!+isfolder:is=`1`:then=`
    

    Тут "!" нужно убрать.

    http://wiki.modx-shopkeeper.ru/doku.php?id=faq#после_обновления_через_аякс_списка_товаров_или_корзины_не_работает_вызов_сниппета_в_чанке

    Вопрос 4. Если тоже не поможет, замените такие условия на сниппет "If".
    https://docs.modx.com/extras/revo/if



Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.