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

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

С нами с 03 марта 2014; Место в рейтинге пользователей: #43
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:44
0
Да будет.
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]]`
02 апреля 2019, 20:28
1
+1
Создайте плагин, в котором получайте значение TV и удаляйте директорию.
Если на удаление ресурса, то повесьте плагин на событие OnDocFormDelete, если на очистку корзины, то на OnBeforeEmptyTrash.

В первом случае есть объект ресурса и значение его TV можно получить через:
$resource->getTVValue('tvname');

Во втором — есть массив ID удаляемых ресурсов, которые можно использовать для получения объектов и дальше как в первом варианте.