разобрался форма должна обязательно быть окружена дивом <div data-smodx-productcls="listproduct"></div>

Не пойму почему запросы на добавление товара в корзину в базовом шаблоне и в моем оказались разные хотя форма сохранена как в базовом форма <form action="" method="post"> <input type="hidden" name="product_id" value="{$object.product_id}"/> <input type="hidden" name="action" value="add_product"/> <input type="hidden" name="quantity" value="1" /> <span class="goods_item_title">{$object.pagetitle}</span> <span class="goods_item_price">{$object.sm_price|number_format:0:".":" "} <span>руб.</span></span> <button class="goods_item_button btn btn-success" type="submit">ЗАКАЗАТЬ!</button>

</form> базовый — test.ru/assets/components/basket/connectors/connector.php?action=products/add&product_id=20&quantity=1 мой — test.ru/?action=add_product&product_id=16&quantity=1 соответственно ничего не добавляется в корзину

Вам не кажется! Там только раскидали по не рабочим модулям и мол зачем все это надо итд. итп.

Топик: SEO ПАК

$b — у меня id производителя, но это на вкус

Упс… ...AND brand.value={$brand}" заменить на ...AND brand.value={$b}"

по цене — процессор web/catalog/products/getdata указываешь параметр 'where'=>['Product.sm_price:<'=>4000] или 'where'=>['Product.sm_price:>'>=4000,'and:Product.sm_price:<'=>7000] и т.п. по производителю по tv фильтровать надо — посмотри web/catalog/products/getdata будет что-то вроде if($b=(int)$this->getProperty('brand')){ $c->innerJoin('modTemplateVarResource', 'brand', "brand.contentid = {$this->classKey}.id AND brand.tmplvarid = 13 AND brand.value={$brand}"); } $brand — название производителя (у меня произодитель в tv с id=13)

спасибо заработало последний на сегодня вопрос как фильтровать товары по производителю на пример или цене тоже в двух словах что бы напомнить урок спасибо огромное заранее

при вызове процессора надо передавать параметр 'page'=>$smarty.get.page

Проблема состояла всего лишь в одном условии сниппета Gallery if ($modx->getOption('checkForRequestAlbumVar',$scriptProperties,true)) { if (!empty($_REQUEST[$albumRequestVar])) $scriptProperties['album'] = $_REQUEST[$albumRequestVar]; } Решилась задача на этом этапе очень некрасиво, но была срочная необходимость, поэтому за грамотностью не гнался: if ($modx->getOption('checkForRequestAlbumVar',$scriptProperties,true)) { if($scriptProperties['album']!="") $_REQUEST[$albumRequestVar]=$scriptProperties['album']; if (!empty($_REQUEST[$albumRequestVar])) $scriptProperties['album'] = $_REQUEST[$albumRequestVar]; } Код чанка особо не изменился: <div id="catalog">

<p>[[+name]]</p> </div> [[!Gallery? &album=`[[+id]]`]] А для того, чтобы выводились изображения корневых альбомов, не имеющих вложенных альбомов, немного видоизменил код самой страницы: [[!Gallery? &toPlaceholder=`gallery`]] [[!GalleryAlbums? &toPlaceholder=`galleries`]] [[!GalleryAlbums? &rowTpl=`galSubAlbumRowTpl` &parent=`[[+gallery.id]]` &showAll=`0` &showInactive=`1` &toPlaceholder=`subgalleries`]] <div style="float: right"> <h2>Galleries</h2> <ul> [[+galleries]] </ul> </div>

[[!If? &subject=[[+subgalleries]] &operator=empty &then=[[+gallery]] &else=[[+subgalleries]] ]]

Листы появились но не переключаются