Павел Романов

Павел Романов

Был в сети 30 июля 2026, 15:23
Заказы принимаю
В данном случае нет нужды использовать pdoPage — у Вас же нет пагинации.
Делайте через кешируемый pdoResources и добавьте &limit, а то по умолчанию у Вас 10 ресурсов только выведется.
И коль уж Вы используете для картинки вывод через resource:
<img src="{$_modx->config.site_url ~ $id | resource : 'cover' | phpthumbon : 'w=640'}" />
..., а TV rubric не используете вовсе, уберите из вызова includeTVs — в этом смысла нет (только увеличивает нагрузку).

...
[[pdoResources?
    &parents=`4`
    &tpl=`tpl.turborss`
    &limit=`0`
]]
...
С miniShop2 идет в комплекте чанк msProduct.content, где есть ответы на многие вопросы )).
Обратите внимание — там вызов msOption находится в форме:
<form class="form-horizontal ms2_form" method="post">
    ....
    [[msOptions?options=`color,size`]]
    ....
</form>
Это скорее всего решит проблему недобавления опции в корзину.

Чтобы вместо ms2_product_dlina выводилось что-то внятное, надо в Шестеренка -> Управление словарями открыть пространство minishop2 и добавить соответствующую запись:
Используйте сниппет pdoField.
Там есть параметр topLevel, который указывает уровень от корня сайта.

То есть при такой структуре:
Каталог (2)
    Категория 1 (3)
        Подкатегория 1 (15)
            Товар 1 (4)
    Категория 2 (5)
        Товар 2 (6)

Такой вызов в Товаре 1 (да и в любом ресурсе ниже Категории 1):
[[pdoField? &topLevel=`2` &field=`id`]]
Выведет 3 (ID второго от корня ресурса).

Соответственно, можно сделать условие:
[[pdoField:is=`3`:then=`Купить`:else=`Заказать`? &topLevel=`2` &field=`id`]] [[*longtitle]] по низкой цене
Чанк — это кусок HTML-кода.
Сниппет — PHP-скрипт, который обрабатывает и при необходимости выводит информацию.
В данном случае сниппет Login выводит разные куски кода (чанки) в зависимости от того авторизован пользователь или нет.