Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #7
Отправить деньги
Артур Шевченко
01 июня 2023, 10:59
0
Ссылкой или свою отправку сделать. Или посмотреть код хука Email может там есть ответ.
Артур Шевченко
31 мая 2023, 20:29
+1
Если выбирать те ресурсы, которые не нужны, то потом как в категориях делать выборку?
{'!msProducts' | snippet: [
...
'where' => ['id:NOT IN' => [значения из ТВ]]
...
}}
Артур Шевченко
30 мая 2023, 23:28
+1
Если бОльшая часть должна быть выбрана, то меньшая будет не выбрана, в этом случае, мне кажется, лучше идти от обратного, т.е. выбирать те ресурсы, которые не нужны.
Но если оставить всё как есть, то можно плагином на OnDocFormRender попробовать отметить. Или установить SuperBoxSelect там есть поиск по названию.
Артур Шевченко
29 мая 2023, 21:57
0
Во-первых, сообщение «В форме содержатся ошибки!» выводится всегда, если в форме есть ошибки.
Во-вторых, параметры отвечающие за кастомные сообщения об ошибках отдельных валидаторов строятся по схеме
поле.vTextИмяВалидатора
Имя валидатора в кэмэл-кейсе, т.е. minLength для поля message нужно писать message.vTextMinLength.
У вас же они заданы очень своеобразно, сами придумали или рассказал кто?
Артур Шевченко
23 мая 2023, 15:56
0
Можно использовать свой чанк и подключить любой другой плагин для изменения диапазона. И повесить реинициализацию этого плагина на событие mse2_load. И если ваш программист ответил, что надо дописывать сам модуль, то либо он набивает себе цену, либо ему лень делать, либо он плохо знаком с Modx.
Артур Шевченко
23 мая 2023, 15:08
+1
Вот вроде рабочий вариант, только надо уметь работать с JS чтобы его подключить
Артур Шевченко
23 мая 2023, 12:38
0
Оно и в мобилке работает, если речь о стандартном для mFilter2 ползунке, просто не перетаскиванием, а по клику на полоску. Исправить это можно подключив другой JS плагин для ползунка.
Артур Шевченко
22 мая 2023, 13:54
0
Я тут сайт пилил с несколькими контекстами. Контексты на разных доменах. Повесил плагин переключения контекстов на OnHandleRequest, контексты исправно переключались, но авторизация во втором контексте не работала. Причина тому плагин на событие OnMODXInit, в котором есть вот такой код
$msmc->makePlaceholders();
И в этой функции есть вызов метода switchContext(), который берет ключ контекста из сессии. Поскольку я не придумал как добавить ключ контекста в сессию на событие OnMODXInit, то просто сделал так
case 'OnMODXInit':
        $msmc->extendMsOptionsPriceModel();
        break;
    case 'OnHandleRequest':
        if ($ctx === 'mgr') return;
         $msmc->makePlaceholders();
        $key = $msmc->getSessionContextKey();
        $_SESSION[$key] = $ctx;
        break;
Артур Шевченко
20 мая 2023, 19:42
0
Надеюсь скоро. Я задумал масштабное обновление, думаю под это дело сделаю и адаптацию. Ориентировочно 1-2 месяца
Артур Шевченко
20 мая 2023, 16:06
0
Не знаю почему, но в плагине метод $modx->updateCollection() не работает, если запустить тот же код в Console — работает, а в плагине нет.
Артур Шевченко
19 мая 2023, 21:00
0
Может и не проверял, как разработчик могу сказать, что баг хоть и доставляет неудобства, но критично на работу не влияет. А поскольку автор компонента дядька занятой, мог этот баг и не заметить. Напиши issue или сразу PR зашли.
Артур Шевченко
19 мая 2023, 18:44
0
Есть другие сайты на 2.x версии и там такого не замечено.
Там противоположная проблема есть: при первой загрузке табличка не тянется на положенную ширину, а после редактирования принимает нормальный вид.
Артур Шевченко
17 мая 2023, 23:43
0
Я не понял задачу. Что за страница со второстепенными категориями?
Артур Шевченко
17 мая 2023, 23:40
0
<?php
if (empty($rid)) {$rid = $modx->resource->id;}
if (empty($pid)) {$pid = $modx->resource->parent;}
if (empty($delimeter)) {$delimeter = ' , ';}
$pdo = $modx->getService('pdoTools');
$scheme = $modx->getOption('link_tag_scheme', null, 'full', true);

$q = $modx->newQuery('msCategory');
$q->leftJoin('msCategoryMember', 'msCategoryMember', array(
    '`msCategory`.`id` = `msCategoryMember`.`category_id`'
));
$q->sortby('pagetitle','ASC');
$q->groupby('id');
$q->select($modx->getSelectColumns('msCategory'));
$q->where('`msCategoryMember`.`product_id` = '.$rid.' OR `id` = '.$pid);

$result = array();
$html = '';
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        if($tpl){
            $html .= $pdo->parseChunk($tpl, $row);
        }
        else{
             $result[] = $row;
        }
    }
}
return $html ?: $result;
Добавил параметр tpl это обычный чанк, в нём доступен массив полей ресурса в виде плейсхолдеров типа {$pagetitle} или [[+pagetitle]]. Можете выводить что угодно и как угодно.
Артур Шевченко
17 мая 2023, 23:29
-1
Вы зачем спамите похожими вопросами? Предыдущий ваш вопрос был про это же, только с другого бока.
Артур Шевченко
17 мая 2023, 23:21
+1
На Fenom так
{'!SnippetName' | snippet: [
'rid' => $id,
'pid' => $parent
]}
На родном синтаксисе так
[[!SnippetName?
&rid=`[[+id]]`
&pid=`[[+parent]]`
]]
SnippetName — заменить на название сниппет.

Но лучше в msProducts дописать параметр leftJoin, кажется так будет немного оптимизированнее
Артур Шевченко
15 мая 2023, 17:34
0
Напишите автору, он добрый, может скинуть пакет.