Конфликт вызова msProduct и pdoResource на одной странице
Добрый вечер!
В шаблоне товара идет последовательный вызов нескольких сниппетов (пока схематичное описание):
Подскажите, пожалуйста, как можно это исправить?
Подробный код конфликтующих сниппетов:
Код tpl.Tkani.Accordion:
Код tpl.Tkani2 внутри этого сниппета:
Код tpl.msProducts.Similar:
В шаблоне товара идет последовательный вызов нескольких сниппетов (пока схематичное описание):
- [[!msGallery]]
- [[!msOptionsPrice.initialize]]
- [[!msOptionsPrice.option]]
- [[pdoField]] (несколько разных)
- [[!pdoResources]]
- [[!pdoResources]] через [[!pdoPage]] — вызывается внутри чанка-шаблона сниппета №5
- [[!msProducts?]]
Подскажите, пожалуйста, как можно это исправить?
Подробный код конфликтующих сниппетов:
[[!pdoResources?
&tpl=`tpl.Tkani.Accordion`
&sortby=`pagetitle`
&sortdir=`ASC`
&limit=`0`
&parents=`60`
&includeContent=`1`
&showUnpublished=`1`
&depth=`0`
&resources=`[[*tkanCollection]]`
]] [[!msProducts?
&tpl=`tpl.msProducts.Similar`
&limit=`12`
&sortby=`Data.price`
&parents=`19`
&includeTVs=`price`
&includeThumbs=`medium`
&tplWrapper=`@INLINE
<div class="container">
<div class="headline"><h2>Похожие товары</h2></div>
<div class="margin-bottom-40">
<div class="bx-wrapper">
<div class="bx-viewport">
<ul id="list" class="bxslider recent-work">
[[+output]]
</ul>
</div>
</div>
</div>
</div>`
&link=`1`
&master=`[[*id]]`
]] Код tpl.Tkani.Accordion:
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a class="accordion-toggle" data-option="[[+pagetitle]]" data-toggle="collapse" data-parent="#accordion-1" href="#collapse-[[+alias]]">
Коллекция тканей "[[+pagetitle:ucase]]"
</a>
</h4>
</div>
<div id="collapse-[[+alias]]" class="panel-collapse collapse">
<div class="panel-body">
<div class="row">
[[!pdoPage?
&tpl=`tpl.Tkani2`
&limit=`0`
&sortby=`pagetitle`
&parents=`[[+id]]`
&includeContent=`1`
&tvPrefix=``
&includeTVs=`price,img`
&showUnpublished=`1`
&hideContainers=`1`
&sortdir=`ASC`
&resources=`[[*tkanID]]`
]]
[[!+page.nav]]
</div>
</div>
</div>
</div> Код tpl.Tkani2 внутри этого сниппета:
<div class="col-md-3 tkani">
<div class="thumbnails thumbnail-style thumbnail-kenburn carousel-v1">
<div class="thumbnail-img">
<div class="overflow-hidden">
<img class="img-responsive" alt="[[+pagetitle]]" src="[[+img]]" />
</div>
<a class="btn-more hover-effect" href="#">[[+pagetitle]]</a>
</div>
<div class="caption">
<a href="#" data-title="[[+pagetitle]]" data-img="[[+img]]" class="tkan tkan0 tkan1tkan tkan2tkan btn-u btn-defaul"><span><i class="icon icon-plus"></i></span>выбрать для всего изделия</a>
<a href="#" data-title="[[+pagetitle]]" data-img="[[+img]]" class="tkan tkan1 tkan1tkan btn-u btn-defaul"><span><i class="icon icon-plus"></i></span>выбрать для спинки и сиденья</a>
<a href="#" data-title="[[+pagetitle]]" data-img="[[+img]]" class="tkan tkan2 tkan2tkan btn-u btn-defaul"><span><i class="icon icon-plus"></i></span>выбрать для боковины и задника</a>
</div>
</div>
</div> Код tpl.msProducts.Similar:
<li>
<a href="{$id | url}">
{if $thumb?}
<em class="overflow-hidden"><img src="[[+image:phpthumbon=`w=400&h=270&zc=0`]]" alt="{$pagetitle}" title="{$pagetitle}"></em>
{else}
<em class="overflow-hidden"><img src="{'assets_url' | option}components/minishop2/img/web/ms2_small.png"
srcset="{'assets_url' | option}components/minishop2/img/web/ms2_small@2x.png 2x"
class="mw-100" alt="{$pagetitle}" title="{$pagetitle}"/></em>
{/if}
<span>
<strong>{$pagetitle}</strong>
<i class="price ml-md-3">{$price} {'ms2_frontend_currency' | lexicon}</i>
{if $old_price?}
<i class="old_price ml-md-3" style="text-decoration: line-through;">{$old_price} {'ms2_frontend_currency' | lexicon}</i>
{/if}
</span>
</a>
</li> Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
и
Код tpl.Tkani2 внутри этого сниппета:
Код tpl.msProducts.Similar:
tpl у меня и так все вынесены в чанк. Инлайном указана только обертка (tplWrapper). Но проблема была не в этом. В чем точно она была, я так и не поняла...., но сделала я следующие действия: 1) заменила вызов сниппета с pdoPage на pdoResouces (мне в принципе пагинация была не нужна) и 2) перенесла из отдельного чанка вызов сниппета похожих товаров в чанк с основным кодом товара.
Когда я замену с pdoPage на pdoResouces сделала, перестали подставляться левые результаты. А когда перенесла снипет msProducts в один чанк с другими вышеописанными, то все нормально заработало.