Вывод списка каталогов

Добрый день! Есть небольшой опыт работы с сайтами на MODX и поднятия их на серверах, знаю PHP. Но пока не до конца понял структуру MODX и как всё работает. Сейчас поверх пустого MODX на данный момент установлен бесплатный пакет ShopModxBox (за что огромное вам спасибо!) Есть «Каталог товаров». В этом каталоге есть группы товаров «Группа 1», «Группа 2»… «Группа N» Но сейчас выводится перечень товаров из самих групп, но не наименования групп.
Насколько понял, за вывод товаров отвечает: shopmodx/shop/catalog/list.tpl Внутри файла содержится код: {* Получаем товары*} {extends «common/list/list.tpl»} {block name=params append} {$params = array_merge((array)$params, [ «limit» => 6, «cache» => 1, «sort» => «modResource.id» ])} {$processor = «web/catalog/products/getdata»} {$no_records_error = «Товары не были получены»} {$outer_tpl = «shop/catalog/list/fetch.tpl»} {/block} Вопрос 1. Чтобы получить и вывести не перечень самих товаров, а перечень категорий товаров — какой параметр нужно использовать? . И ещё вопрос №2 После установки на голый modx сборки ShopModxBox в разделе «Контакты» на капчу всё время отображаются ошибки прям в тексте WEB-страницы. [2015-07-07 16:47:37] (ERROR @ /home/...sitename.ru/docs/core/model/modx/modx.class.php: 1836)

PHP warning: Missing argument 2 for modX::parseChunk(), called in /home/...sitename.ru/docs/core/components/modxsmarty/compiled/shopmodx/web/c4f67f496bd0e191c1968a23cbd74a8ce1e0a5ac_0.file.feedback.tpl.php on line 161 and defined Подскажите, что не так и где копать?

Вопрос 1. Чтобы получить и вывести не перечень самих товаров, а перечень категорий товаров — какой параметр нужно использовать? Проще всего конечно использовать сниппет [[Wayfinder?level=1]] или getdata-процессор {processor action=«web/resources/getdata» ns=«modxsite» params=[«parent» => $modx->resource->id]}… Но так вы получите категории без учета есть в них товары для вывода или нет. Хотя это и не страшно, если каталог не большой и вручную легко рулится (нет товаров — поставили категории галочку «Не показывать в меню» и все). Но если нужна автоматизация (то есть чтобы точно не выводились категории, для которых товары отсутствуют), то надо уже более серьезно к этому подходить. В идеале — расширять web/catalog/products/getdata процессор (но тут есть сложности, так как там он товары будет пытаться получить, а надо родителей выводить, то есть хитро запросы переопределить), или хотя бы расширить web/resources/getdata и в запросе добавить дочерние товары, типа так: public function prepareQueryBeforeCount(xPDOQuery $c) { $c = parent::prepareQueryBeforeCount($c); $alias = $c->getAlias();

    $c->innerJoin('modResource', 'Children');
    $c->innerJoin('ShopmodxProduct', 'Product', "Product.resource_id = Children.id");
    
    $c->where(array(
        "Children.published"    => 1,
        "Children.deleted"       => 0,
        // hidemenu and etc optionaly
    ));

    return $c;
} Но это будет выводить только категории ближайшего уровня и только при условии наличия товаров непосредственно в них, без товаров на вложенных уровнях. Если надо учитывать вложенные уровни, можете этот процессор переопределить и дописать.

Спасибо за квалифицированный ответ!!! Продажа товаров сейчас сопровождается через 1С Управление торговлей 8.1. Там же хранятся номера деталей, по которым планируется искать товар на сайте. Т.е. в будущем, хотим выгружать из 1С-ки перечень имеющихся товаров и их свойства (описание, количество на складе, стоимость). Вложенные уровни не планируются. Т.е.: | Главная | Каталог товаров | Группа товара | Товар Подскажите, по какому из вышеописанных Вами путей нам лучше идти с взглядом на будущее?

Если проект серьезный, лучше закажите у меня написать вам этот процессор. Он будет тогда учитывать и все добавляемые вам параметры поисков. То есть, к примеру, если вы в процессе допилите в web/catalog/products/getdata поиск по каким-то товарам, то новый расширяющий процессор сможет учитывать эти параметры поиска и выводить только те категории, для которых товары будут найдены. Цена вопроса 3000 рублей. Если такой функционал не требуется, то есть просто требуется выводить категории без учет есть в них товары или нет, то любой из перечисленных вариантов, какой вам больше нравится.

Я правильно понимаю, что это стоимость процессора вместе с автоматической загрузкой перечня товара из 1С Управление торговлей 8.1?

Нет, это только процессор для вывода категорий. То есть примерно полтора часа работы (я с запасом беру). Импорт из 1С у нас от 30 000 руб.

Понятно. Мы бы с радостью воспользовались таким предложением, т.к. это весьма разумная цена, но пока такой возможности у нас нет… Мы лучше потом когда Интернет-продажи заработают вам безвозмездно на развитие проекта денег переведём. Это у нас есть в планах такое. Возвращаясь к моему первоначальному вопросу, с учётом имеющейся у нас 1С-ки 8.1 — по какому пути озвученному Вами в первом посте посоветуете идти?

Сначала попробуйте выгрузку из 1С выполнить через ShopModx1C. Что у вас вообще на сайт выгрузится и выгрузится ли вообще. И еще там надо будет прописать импорт дополнительных полей и обновление потом имеющихся товаров. И вот если уж у вас каталог будет, тогда уже и категории выводить будете.

Да, вы правы, надо начинать с импорта из 1С. Насчёт вывода — вариант с [[Wayfinder?level=1]] пока вполне устроил. Спасибо! Пока разбираюсь с устройством модуля ShopModxBox. Для себя делаю наброски в виде понятных взаимосвязей в каталоге. Кстати, думаю, они будут полезны для других, хотелось бы опубликовать эти картинки. А что насчёт ошибки во вкладке КОНТАКТЫ в районе капчи? Куда копать, из-за чего возникает эта ошибка?

А что насчёт ошибки во вкладке КОНТАКТЫ в районе капчи? Куда копать, из-за чего возникает эта ошибка? Вот это должно помочь.

Спасибо! Помогло.

Не за что!