Вывод старого шаблона на второй и т.д. страницах

Уважаемые эксперты, На сайте установлен minishop2. На странице списка товаров осуществляется вызов mFilter2, см код ниже. После недавнего обновления кода чанка mfilter_outer.tpl (добавил вызов нового чанка {include 'fast_filter'}), и также чанка product_tpl.tpl (добавил html и скрипт смены картинки товара при собитии hover), тем не менее, теперь при переходе кроме первой на 2-ю и следующие страницы в блоке пагинации, выводится старый шаблон без изменений в чанках mfilter_outer.tpl и product_tpl.tpl. Для примера, Первая страница загрузится в новом виде, а последующие вызовом из блока пагинации внизу в старом. При принудительной перезагрузке текущей страницы 2-ой и далее шаблон обновляется. И при запросе кода текущей страницы в браузере, показывается новый шаблон. При каждом новом заходе на страницу и последующей пагинации ситуация повторяется. Как положено, обновил кеш сайта в админке, также стер папку core/cash. В браузере также очистил кеш. Нулевой свежеустановленный браузер (без кеша) также выводит страницу со старым шаблоном, и обновляет только при принудительной перезагрузке. Подскажите, где еще мог записаться в кеш код старого шаблона и как его обновить. Похоже что дело в подгрузке шаблона ajax, тогда есть ли возможность отключить его совсем в mFilter2 и попробовать пагинацию без него. Непосредственного аналога параметра ajax как в pdoPage не обнаружил в mFilter2. Ниже код вызова mFilter2 в шаблоне. Вызов mFilter2 в шаблоне
{$_modx->runSnippet('!mFilter2', [
				'element' => 'msProducts',
				'class' => 'msProduct',
				'where' => ['wear_type="оправа"'] ,
				'showEmptyFilters' => 1,
				'parents' => '8,-3199',
				'sort'=> 'ms|new:desc,resource|createdon:desc,resource|pagetitle:asc',
				'limit' => 48,
				'pageLimit'=> 10,
				'tplOuter' => '@FILE chunks/mfilter_outer.tpl',
				'tplPageWrapper' => '@INLINE <ul class="pagination">{$prev}{$pages}{$next}</ul>',
				'tplPageActive' => '@INLINE <li class="page-item"><span class="page-link page-link-active" >{$pageNo}</span></li>',
				'tplPage' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">{$pageNo}</a></li>',
				'tplPagePrev' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">«</a></li>',
				'tplPageNext' => '@INLINE <li class="page-item"><a class="page-link" href="{$href}">»</a></li>',
				'tplPagePrevEmpty' => '@INLINE <li class="page-item"><span class="page-link page-link-empty">«</span></li>',
				'tplPageNextEmpty' => '@INLINE <li class="page-item"><a href="" class="page-link page-link-empty">»</a></li>',
				'filters' => 'ms|vendor:vendors,
							ms|gender,
							ms|wear_type,
							ms|material,
							ms|frame_form,
							ms|construct,
							ms|size_front,
							ms|size_bridge,
							ms|size_temple,
							ms|price:number' ,
				'aliases' => 'ms|price==price' ,
				'ajaxMode' => 'default',
				'filterOptions' => '{
						"more_tpl": "<div class=\"text-center\"><button class=\"btn btn-blue btn-rounded btn_more\">Загрузить еще</button></div>"
						}',
				'tpls' => '@FILE chunks/product_tpl.tpl',
				'tplFilter.outer.default' => '@FILE chunks/filter_outer.tpl',
				'tplFilter.row.default' => '@FILE chunks/filter_row.tpl',
				'tplFilter.outer.price' => '@FILE chunks/filter_outer_price.tpl',
				'tplFilter.row.price' => '@FILE chunks/filter_row_price.tpl'
			])}
Спасибо.

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

ВК
ВК
Спасибо обновил, но не поменялось. Кеш, конечно, везде почистил.
Подскажите, если при загрузке следующих страниц принудительно из адресной строки, например,

все обновляется нормально, то если дело в ajax, то как снять поддержку ajax в pdoPage, я пробую принудительно прописать обработчик пагинации со своими пользовательским набором параметров в вызове mFilter2:
'paginator' => 'pdoPage@pagenav_noajax'
где в наборе параметров указано: параметр ajax, значение 0.
Но похоже, что по прежнему в пагинации используется ajax.

Большое спасибо за помощь.
Александр Мальцев
Александр Мальцев
В mFilter2 нет параметра для отключения режима AJAX. Чтобы это сделать нужно внести изменения в js файл этого компонента. Он находятся по умолчанию в этом месте: «\assets\components\msearch2\js\web\default.js».
В нём нужно найти следующий код и закомментировать в нём последнюю строчку:
$(document).on('click', this.options.pagination_link, function () {
  ...
  //return false;
});
ВК
ВК
Теперь без ajax все работает нормально, большое спасибо.

Однако причина недоработки ajax непонятна. Дело, видимо, не в кеше ModX. Возможно есть еще какой-то кеш Fenoma который не удаляется?

Интересно, что при замене в коде вызываемого в mFilter2 шаблона mfilter_outer.tpl
{include 'file:chunks/fast_filter.tpl'})
на непосредственный код чанка
<div style="top:0;left:0;width:100%;position:relative;float:left;clear:both;text-align:justify;padding-bottom:30px;padding-left:30px;padding-right:30px;">
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|gender=женский" style="font-size:18px;font-weight:bold;">ЖЕНСКИЕ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|gender=мужской" style="font-size:18px;font-weight:bold;">МУЖСКИЕ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|gender=юнисекс" style="font-size:18px;font-weight:bold;">ЮНИСЕКС</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|gender=подростковый" style="font-size:18px;font-weight:bold;">ДЕТСКИЕ/ПОДРОСТКОВЫЕ</a>

<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|material=пластик" style="font-size:18px;font-weight:bold;">ПЛАСТИК/АЦЕТАТ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|material=металл" style="font-size:18px;font-weight:bold;">МЕТАЛЛ/ТИТАН</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|material=комби" style="font-size:18px;font-weight:bold;">ПЛАСТИК+МЕТАЛЛ</a>

<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|construct=ободок" style="font-size:18px;font-weight:bold;">ОБОДОК</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|construct=леска" style="font-size:18px;font-weight:bold;">ЛЕСКА</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|construct=винты" style="font-size:18px;font-weight:bold;">ВИНТЫ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|construct=втулки" style="font-size:18px;font-weight:bold;">ВТУЛКИ</a>

<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=круг,округлая,округлые,овал,овальная,овальные" style="font-size:18px;font-weight:bold;">КРУГЛЫЕ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=прямоугольник,трапеция" style="font-size:18px;font-weight:bold;">КВАДРАТНЫЕ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=капли" style="font-size:18px;font-weight:bold;">КАПЛИ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=кошки" style="font-size:18px;font-weight:bold;">КОШАЧИЙ ГЛАЗ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=бабочка,бабочки" style="font-size:18px;font-weight:bold;">БАБОЧКИ</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=ретро" style="font-size:18px;font-weight:bold;">РЕТРО</a>
   
<a href="{$_modx->makeUrl($_modx->resource.id)}?ms|frame_form=граненая,граненые" style="font-size:18px;font-weight:bold;">ГРАНЕНЫЕ</a>
</div>
, проблема остается: именно при вызове страницы из пагинации этот блок (даже в виде прямого html) все равно не виден, и также не работает js обработчик события hover.

Хотя идущий следом в коде вызов
{$results}
отрабатывает нормально, грузятся результаты фильтра.

Удивительно, что обычные вставки выше и ниже
{include 'file:chunks/fast_filter.tpl'})
в html типа «123» в шаблоне видны.

То есть, если бы код отваливался на глючном фрагменте
{include 'file:chunks/fast_filter.tpl'})
тогда остальное бы тоже не работало, но работает.

Огромное спасибо за помощь.
С уважением.
ВК
ВК
Спасибо за ответ.

Обратите внимание, пир переходе со второй страницы на первую в пагинации обратно, первая отображается в старом варианте шаблона: пропадает верхний блок с названиями быстрого фильтра: женские, мужские и т.д., а также эффект изменения ракурса фото товара при hover мышкой.

С Уважением.
Александр Мальцев
Александр Мальцев
Попробуйте у ресурса убрать флажок «Кэшируемый», а также переустановить дополнение mSearch2 (может в этой версии есть баг). Если стоит последняя mSearch2, то откатите на более старую версию, а если наоборот — то установите более новую. Ну и почистите кэш после этих действий.
Александр Мальцев
Александр Мальцев
Здравствуйте! Открыл вашу первую страницу, а затем используя пагинацию перешёл на другую — дизайн одинаковый. Значит что-то закешировалось в вашем браузере.
ВК
ВК
Добавил параметры пагинатора pdoPage в вызове mFilter2 для отключения ajax

'paginator' => 'pdoPage@pagenav_noajax'
Но все по прежнему, вылеает старая версия шаблона, и, похоже, ajax все же остался.