Ура спасибо, низкий вам поклон, Николай))) доперло до меня, заработало) [А то я в этом смарти вообще ничего не смыслю, а есть какие нибудь качественные уроки по этому смарти???] с продажи сайта, отблагодарю.)))))

  1. У вас $params не внутри блока {block ...}, а когда шаблон расширяющий, все, что не в блоках лежит, игнорируется.
  2. Ответил вам здесь.

Сергей, не надо создавать топик, а потом все из него удалять. «Спасибо, разобрался» — это в UPD пишется или комментарием.

Мне на самом деле вообще мало понятен смысл топика и проблемы. Юзать fetchAll и getCollection, при этом удивляться разнице результатов — это все равно что собирать пшеницу в поле и хлеб в магазине покупать. Абсолютно разные вещи.

  1. Надо передавать в параметры вызываемого процессора «page» => $smarty.get.page, то есть $_GET-параметр запроса. У вас здесь где передача этого параметра? Во-вторых, это кешируемый блок, так как находится внутри самого шаблона документа. Сделайте так:
  2. В шаблоне категории пропишите вызов своего субшаблона, типа так: {block name=content} [[!smarty?tpl=inc/shop/category/index.tpl]] {/block} А в inc/shop/category/index.tpl пропишите {$params = [ "limit" => 4, "page" => $smarty.get.page ]} {processor action="web/catalog/category/products/getdata" ns="modxsite" params=$params assign=result} {* Набиваем через единый шаблон листинга *} {include file="shop/catalog/list/fetch.tpl"} {include "common/pagination/pagination.tpl"} getPage не нужен для работы шаблона постраничности. Главное — чтобы был сам этот шаблон постраничности.

Ну, окно оформить — это уж совсем не проблема. А по поводу Ajax-запросов, почитайте внимательно здесь. Как раз в последней сборке были добавлены механизмы для пользовательских запросов (см. «8. В метод ShopMODX.Request.run() добавлен четвертый параметр — url.»). Сейчас можно передать свой собственный УРЛ, куда и будет выполнен запрос, например ShopMODX.Request.run(some_action, some_data, null, '/ajax.html').

С первым вопросом разобрался сам: отследил, какие запросы куда отправляются (при добавлении в корзину и при её очистке). Теперь выполняю их через $.ajax. Со вторым разобрался с вашей помощью: в submit.class.php немного изменил функции initialize, validateFields и getFields. Вроде всё работает, осталось только окно оформить и всё. Спасибо за помощь!

Придет Николай и все объяснит. А пока его нет — можно здесь покапаться github.com/MODX-Club/ShopModxBox/blob/17791a616ccb43245dfdac5f6defb81a2c90b815/core/components/basket/processors/basket/web/orders/submit.class.php

Как бы в базе, в таблице modx_gallery_album_items или где-то рядом. Смотрите схему core/components/gallery/model/schema/gallery.mysql.schema.xml для подробностей, если знаете что это такое.

А подскажите, где посмотреть?