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

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

С нами с 03 марта 2014; Место в рейтинге пользователей: #70
Павел Романов
15 июля 2019, 17:38
1
+1
Если в чанке, то так:
<img src="{if $parent | resource: 'pagetitle' == 'Брюки'}{$medium}{else}{$big}{/if}" alt="{$pagetitle}" title="{$pagetitle}"/>

Если на странице самого продукта, то так:
<img src="{if $_modx->resource.parent | resource: 'pagetitle' == 'Брюки'}{$medium}{else}{$big}{/if}" alt="{$pagetitle}" title="{$pagetitle}"/>
Павел Романов
12 июля 2019, 16:55
1
+1
Родительской так:
[[~[[*parent]]]]
Павел Романов
30 июня 2019, 15:54
+1
В данном случае нет нужды использовать 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`
]]
...
Павел Романов
15 июня 2019, 19:41
0
Создайте плагин на событие msOnCreateOrder, где есть объект заказа со всеми данными.
Контактные данные тут:
$order->get('address');
Павел Романов
15 июня 2019, 11:42
1
0
С miniShop2 идет в комплекте чанк msProduct.content, где есть ответы на многие вопросы )).
Обратите внимание — там вызов msOption находится в форме:
<form class="form-horizontal ms2_form" method="post">
    ....
    [[msOptions?options=`color,size`]]
    ....
</form>
Это скорее всего решит проблему недобавления опции в корзину.

Чтобы вместо ms2_product_dlina выводилось что-то внятное, надо в Шестеренка -> Управление словарями открыть пространство minishop2 и добавить соответствующую запись:
Павел Романов
14 июня 2019, 20:07
0
....
<img src="{if $_modx->resource.pagetitle == 'Брюки'}{$medium}{else}{$big}{/if}" alt="{$pagetitle}" title="{$pagetitle}"/>
....
Павел Романов
14 июня 2019, 19:57
1
+1
Используйте сниппет 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]] по низкой цене
Павел Романов
14 июня 2019, 13:22
1
+1
Пробел между разрядами уберите:
[[+price:replace=` ==`:div=`2`]]
Павел Романов
13 июня 2019, 12:55
0
Понимаете, это решение лежит в сфере основ MODX и, честно говоря, странно видеть, что некоторые разработчики считают выше своего достоинства открыть хоть раз документацию и прочитать про азы системы (а это именно азы, как и синтаксис тегов).
Речь же не про расширения классов mFilters или реализации какого-то нестандартного функционала.

Код убирается striptags, пробелы replace. Оставшиеся символы подсчитываются тем же strlen:
[[+longstring:striptags:replace=` ==`:strlen]]

Можете сами написать элементарный модификатор, основываясь на той же документации, тем более, что он уже есть в этой ветке.
Павел Романов
13 июня 2019, 12:39
0
А почему бы не зайти в раздел документации прямо на этом сайте и не посмотреть в «Основы»?
Там про фильтры вывода вагон и маленькая тележка, да еще и с примерами )).
Павел Романов
09 июня 2019, 12:49
1
+1
Самое простое — добавить в настройки контекстов параметры address со своими значениями:


Вывод:
[[++address]]
Павел Романов
04 июня 2019, 18:41
0
Для авторизованного юзера можно выводить любые его поля через модификатор userinfo. Почту так:
[[!+modx.user.id:userinfo=`email`]]
Павел Романов
04 июня 2019, 13:46
0
В OpenServer почта по умолчанию не отправляется, а пишется файлами в директорию директория_сервера/userdata/temp/email.
Павел Романов
03 июня 2019, 16:34
0
Туда, где должна быть форма регистрации — он же выводит ее.
Павел Романов
03 июня 2019, 16:20
0
Чтобы записать юзера в базу, нужно использовать сниппет Register (он идет в комплекте с Login) — именно он обеспечивает регистрацию юзера, подтверждение почты и т. д. (подробности).
Документация.
Павел Романов
03 июня 2019, 16:19
0
Чанк — это кусок HTML-кода.
Сниппет — PHP-скрипт, который обрабатывает и при необходимости выводит информацию.
В данном случае сниппет Login выводит разные куски кода (чанки) в зависимости от того авторизован пользователь или нет.
Павел Романов
03 июня 2019, 10:49
0
Так, вроде, инфы полно )).
Прямо в первом результате все очень доходчиво.
Павел Романов
30 мая 2019, 18:13
0
Это нестандартное поле как и «Баллы пользователя».
Для начала проверьте плагины на события, начинающиеся с OnManagerPage… — скорее всего какой-то скрипт подгружается.