Да куда угодно вставляйте. Это для теста. Будет выполнена выборка всех доступных документов (у вас их наверняка больше пяти). Если в этом случае не заработает пагинация, тогда будет глубже разбираться.

Код вставлять сюда надо: shop/catalog/list.tpl?

Никакие другие шаблоны не могут быть здесь причастны. Вы вставляли как есть мой код? У вас точно больше записей на выход чем limit? Точно результат выполнения процессора набивается в переменную $result?

Шаблон pagination.tpl добавил себе, постраничность не появилось. Я так понял там и другие шаблоны поменялись и причина кривой работы постраничности именно в них. Не помню какая версия у меня движка стоит, самое главное что цены нормально работают — валюты обновляются цены везде показываются. У вас есть список шаблонов, которые были обновлены, чтоб не тыкаться? Апдейт делал путем внесения изменения в файлы которые у перечислены в статье на гитхабе…

site/web/resources/getdata.class.php расширяет site/web/getlist.class.php, так что если говорить конкретно о перемещаемых кусках кода из расширяющего процессора в расширяемый, то никаких проблем с этим не должно возникать. Скорее всего там еще другой код изменен. Изменилось две вещи:

  1. Раньше использовался для постраничности сниппет getPage, а сейчас используется Смарти-шаблон common/pagination/pagination.tpl.
  2. Раньше процессор из глобального массива $_GET получал значение переменной page (номер запрошенной страницы). А сейчас он на это не реагирует, ожидает явную передачу в него параметра page. Пример, который должен работать, если все ОК: {$params = [ "limit" => 5, "page" => $smarty.get.page ]} {processor action="web/resources/getdata" ns="modxsite" params=$params assign=result} {include "common/pagination/pagination.tpl"}

Добрый день, Николай. Установил этот апдейт себе в магазин, валюты обвновляются все нормально. А вот постраничность перестала отображаться, я так понял дело тут в функциях prepareResponse и outputArray. Они были перемещены из site/web/resources/getdata.class.php в site/web/getlist.class.php. Как только возвращаю их в процессор getdata — постраничность появляется а вот цена показывается не везде, делаю как у Вас в getlist — постраничность пропадает зато с ценой все нормально. Помогите разобраться!

Если данные получены через getdata-процессор, то {$object.tvs.tv_name.value} Сделайте вывод массива через {print_r($object, 1)} и смотрите что в нем есть.

Николай добрый день. Подскажите никак не могу понять, как вывести тв-параметр подобно {$object.pagetitle}

  1. В админке за вывод таких вещей отвечают inputRenderer и ExtJS. Просто так у вас во фронте ничто работать не будет.
  2. &items=[[*category]] А с чего вы взяли, что у вас поле документа должно в себе нести выборку по вашему запросу? Оно несет конечное установленное значение, но никак не выборку данных по запросу.
  3. Вот поэтому мы Смарти и юзаем, чтобы не заморачиваться с такими простыми задачами. Один из вариантов: <select id="profile"> {foreach $modx->getIterator('modResource', ['parent' => 18]) as $doc} <option value="{$doc->id}">{$doc->pagetitle}</option>

{/foreach} </select> 4. Если вы совсем по религии хотите сделать (чтобы не было двух отдельных запросов в админке и фронте), то правильней делать так: создавать сниппет, в котором будет выполняться формирование запроса и набивка полученных данных. В нем надо будет рулить по условию тип вывода — для ТВшки все данные должны быть вида Заголовок1==id_1||Заголовок2==id_1....., а для фрона как раз своим способом и набивайте HTML. Или возвращайте JSON-строку и если используете Смарти, то там выполняйте JSON-декодинг и набивайте конечный HTML. А в ТВшке в качестве возможных значений указывайте @CHUNK, в котором будет вызываться этот сниппет (к сожалению нельзя сразу указать сниппет, ТВшки этого не умеют, хотя можно еще использовать @EVAL return $modx->runSnippet(...))

Можно попробовать vapor. Делает сборку всего сайта.