Так все то же самое. {snippet name=getProducts params='&parents=`$item.id`&tpl=`menuRowTpl2`&useSmarty=`true`&where=`{"template:in":[3,4,8]}`' parse=true}
а для smarty вызова снипета тогда как записать это?
Уточнение по данному вопросу: оказывается, надо было сделать так, чтобы искал сразу по нескольким шаблонам. В таком случае надо просто передать массив шаблонов, к примеру: {"template:in":[3,4,8]} еще был вопрос, как исключить шаблоны. Тогда или {"template:not in":[3,4,8]} (если массив), или {"template:!=":3} (если исключаем один).
В общем, если кому интересно, спрашивайте у Андчира к чему вот эта бессмысленная проверка? УРЛы на документы в другом контексте формируются с полной схемой. В итоге это условие не проходит и все полученный документы не попадают в конечный вывод.
Решено. Проблема была в синтаксической ошибке. Отсутствовала точка с запятой.
Как много всяких параметров системных)))) Я с ним ни разу не сталкивался. Что-то предметное сказать можно только при доступе в админку.
НЕ выводит список всего каталога в админке при настройке фильтров только по умолчанию В настройках системы узакан id самого верхнего ресурса каталога и id шаблонов всех дочерних рубрик тоже вот скрини take.ms/vv95o take.ms/fm1ni take.ms/pVaoL В чем может быть проблема?
Проверка на GET чтобы если отправили форму не кешировалась страница с ответом.
Но это как раз и не стоит делать. Ведь GET — это в том числе и постраничность и прочие моменты, включая гет-поиск. Все, что не должно кешироваться — надо выносить в Ajax.
Либо предусматривать какой-то GET-параметр типа nocache=1, чтобы явно указывать, что ее кешировать не надо. Если добавится в запрос этот параметр, для нгинкса это уже будет новый адрес, и он отправит запрос на MODX. MODX не сформирует полный кеш страницы в мемкеш, а значит и нгинкс все время будет отдавать не кешированную страницу.
<?php switch($modx->event->name){ case 'OnWebPageComplete': if (!empty($modx->resource) && $modx->resource->get('cacheable') && $modx->resource->get('published') && $modx->resource->_output != '' && $_SERVER['REQUEST_METHOD'] == 'GET' ) { $key = 'index.php?'; $key .= str_replace('&', '&',($_SERVER['QUERY_STRING'])); $modx->log(1, "Key: '{$key}'"); $modx->cacheManager->set($key , $modx->resource->_output); } break; default:; }
Проверка на GET чтобы если отправили форму не кешировалась страница с ответом.
$key = 'index.php?';
Чтобы ключ был красивее. Modx его все равно модифицирует. в
$this->key . '/' . $key;
$this->key это системная настройка cache_key Так что если cache_key = site.com Тогда в конфиге nginx пишем
set $memcached_key "site.com$uri?$args";