В контейнере товаров вызывают вот такой шаблон {extends file="layout.tpl"}

{block name=content} {processor action="web/catalog/category/products/getdata" ns="modxsite" params="&limit=4&getPage=1" assign=result}

{* Набиваем через единый шаблон листинга *}
{include file="shop/catalog/list/fetch.tpl"}

{include "common/pagination/pagination.tpl"}

{/block}

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

Ну а что в базе в rank?

  1. Надо передавать в параметры вызываемого процессора «page» => $smarty.get.page, то есть $_GET-параметр запроса.
  2. Если у вас свежая сборка, то вообще правильней не [[+page.nav]] вставлять, а инклюдить шаблон постраничности.

У меня на другом сайте такой же код работает отлично. Вот поэтому и не пойму в чем проблема. Вот и стал грешить на названия, потому что местами меняет 0 и 1, 9 и 10 и т.д.

Беда, Your text to link... сделал как у вас, в принципе отсюда, лимит устанавливается, значит работает, но вот пагинация не появляется, а если в выводе списка товаров shop/catalog/list/fetch.tpl прописать [[+page.nav]] то пагинация появляется столько сколько должно быть страниц, но не переходит по ним.

Посмотрите как сделано это здесь (внизу ссылка на сайт). Чаще всего это просто форма обратной связи с передачей в нее данных указанного товара, то есть даже без формирования заказа в системе. Там вы увидите только внешние скрипты, внутренних не увидите, но не сложно использовать под это form-процессор.

Да тут же несколько примеров сниппетов под Gallery лежит. Берите код и эксплуатируйте.

Народ, ткнити носом, если обсуждалось. Вообще даже не знаю, стоит ли спрашивать. Но это реально меня напрягает в переходе на процессоры. Хотя возможно, тут психоаналитик нужен, а не программистов совет. Я привык делать запрос вот таким образом $q=$modx->newQuery('MyClass');

$q->select(array( 'id', 'json', ));

$q->prepare();

//- fetchAll

$q->stmt->execute(); $res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);

foreach ($res as $k=>$v) { print_r($v); }

// //- getCollection

// $res = $modx->getCollection('MyClass', $q);

// foreach ($res as $k=>$v) { // print_r($v->toArray()); // } Обратите внимание на $q->select. В случаи, если я закомментирую получение результатов через fetchAll и воспользуюсь $modx->getCollection, то применение select лишено смысла, я получаю объект с переводом в массив методом toArray(), что на выходе дает множество совершенно ненужных мне параметров. Это непривычно, немного осложняет работу и вообще, зачем получать данные, которые тебе не нужны? Не, может это вопрос привычки конечно. Но насколько я понимаю, в процессорах, если я наследую стандартный процессор modx, которые здесь лежат, то я не могу использовать fetchAll в getData? Просто нигде так не делается и в процессоре могут быть функции, которые ожидают получить именно объект $data = $this->getData(); $list = $this->iterate($data); Ну хорошо, допустим я в public function process() в наследнике modObjectGetListProcessor переопределил, что нету там iterate($data) и никто не ждет объект. Так наверное не по-феншую делать? А по-другому же не ограничишь данные на выходе тем, что в select? Короче, я в сомнениях весь. Прям как девочка.