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

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

С нами с 03 марта 2014; Место в рейтинге пользователей: #43
Павел Романов
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… — скорее всего какой-то скрипт подгружается.
Павел Романов
27 мая 2019, 14:02
+1
См. шестерёнка -> Настройка форм.
Павел Романов
30 апреля 2019, 10:02
0
Добавить какие-либо нецифровые символы в возможные значения TV, чтобы прописывалось, к примеру, так:
_120_
_112_

Ну и в вызове:
&tvFilters=`my_filter==%_[[+id]]_%`
Павел Романов
26 апреля 2019, 18:07
+1
Если у Вас robots как ресурсы, заморозьте им URI.
Павел Романов
25 апреля 2019, 09:56
1
+1
Сниппет ctxname:
<?php
if(!$ctx = $modx->getObject('modContext', array('key' => $input))) return $input;
return $ctx->get('name');

Использовать как модификатор:
[[*context_key:ctxname]]
или 
{$_modx->resource.context_key | ctxname}
Павел Романов
14 апреля 2019, 12:22
+1
Проверьте вывод [[*TovarRelated]] на странице статьи — там pagetitle товаров выводятся слитно, а не через разделитель ||, который Вы используете в getMyResources на пятой строке.
Укажите у этой TV тип вывода «Разделитель», поставьте в качестве него запятую и используйте ее в explode.

Но вообще все можно упростить. Сниппет getrel:
<?php
$titles = explode(',', $input);
$ids = array();
foreach($titles as $title){
    if(!$prod = $modx->getObject('modResource', array('pagetitle' => $title))) continue;
    $ids[] = $prod->get('id');
}
count($ids) > 0 ? $out = implode(',', $ids) : $out = 9999999;
return $out;

Вызов в шаблоне статьи:

[[msProducts?
&tpl=`gridProductTpl`
&limit=`4`
&parents=`10`
&resources=`[[*TovarRelated:getrel]]`
]]
Павел Романов
12 апреля 2019, 15:07
0
Сделайте копию чанка tpl.ms2Gallery и настройте его как нужно.
Новый чанк укажите в вызове в параметре &tpl.
Павел Романов
08 апреля 2019, 13:12
0
Если эти значения используются только для вывода на странице товара или в чанках, достаточно просто указать ID нужных ресурсов-цветов через || (если нет настроенного разделителя):
12||13||14||15
Если разделитель указан, то через него.

В случае фильтрации или каких-либо выводов ресурсов с учетом значения данного параметра, надо не указывать значения по умолчанию, а всё писать в базу. Для этого создайте плагин на событие onDocFormSave, где пишите нужные данные через ||:
<?php
if(!$template = $resource->get('template')) return; 
if($modx->event->name == 'onDocFormSave' && $mode == 'new' && $template  == 5) {  // Вместо 5 укажите ID шаблона товара
    $resource->setTVValue('colors', '12||13||14||15');
}
Павел Романов
07 апреля 2019, 19:15
+1
В чанке doc-section так parents должен быть таким:
&parents=`[[+id]]`