Всего 125 970 комментариев

Руслан Алеев
27 апреля 2022, 20:21
+1
На самом деле, если есть что предложить, то отправьте issue/PR, возможно, действительно ускорите MODX. Тем более MODX 3 пока еще в полу-рабочем режиме :)
Константин
27 апреля 2022, 18:47
0
Вот же в документации к SelectFilters пример использования: prnt.sc/Pr7uUq8L0j7o
В том и дело, что если группы фильтров через mfilter2 вызывать, то порядок как раз меняется порядком чанков.

А с использованием SelectFilters, порядок сбивается. Этот компонент н умеет походу порядок поддерживать тот который нужен. Он всовывает дефолтные группы фильтров в начало.

Название чанков поменял, тот же результат.
Василий Наумкин
27 апреля 2022, 16:57
+1
Ну раз ты не видишь проблемы — исправляй и шли коммит в репозиторий MODX.
Иван
27 апреля 2022, 16:51
0
То есть, нужно парсить этот тег минимум 2 раза — это и есть рекурсия. Так весь MODX и работает, это его чуть ли не основная фишка.
Я не вижу проблемы где-то эту рекурсию использовать так, а где-то иначе. Например, для условий «if-else» сделать другую логику. Логично сначала парсить условие, а потом уже контент. А про «фишку» впервые слышу.
Роман
27 апреля 2022, 16:41
0
Может статус не тот ставите?
$status == 2
/manager/?a=system/settings
Зайдите во вкладку системные события, посмотрите, что там есть на msOnChangeOrderStatus.
Если что-то есть, то возможно приоритет в плагине поставьте, чтобы обрабатывался в первую очередь.
Михаил
27 апреля 2022, 16:23
0
У меня скорее вопрос в том что бы при смене статуса заказа, отправлялось уведомление, плагин вешаем на событие msOnChangeOrderStatus правильно же? Тогда идем вадминку, меняем статус, событие должно срабатывать. так? :)

Тот же самый код, только на msOnCreateOrder срабатывает норм (при создании заказа, конечно), а если повесить на изменение статуса msOnChangeOrderStatus то у меня не срабатывает почему то.
Роман
27 апреля 2022, 16:17
0
Сейчас попробую написать. Для теста.
Михаил
27 апреля 2022, 16:09
0
Спасибо! О я знаю откуда этот кусок :) gist.github.com/TrywaR/93feccb27285d8e1e26c9364390be187
Пробовал так, но почему то не срабатывает отправка тоже.
Может просто опечатался где то, пойду проверять.
Михаил
27 апреля 2022, 16:05
0
Ага, спасибо за помощь, конечно код за меня писать не надо.
Вопрос был в том, почему при смене события оно не срабатывает, а не как плагин уведомления в телегу написать.
Роман
27 апреля 2022, 16:04
+1
switch ($modx->event->name) {
  case 'msOnChangeOrderStatus':
    if ($status === 2) {
      //тут отправка в телегу
      die();
    }
  break;
}
Sergey (Sentinel)
27 апреля 2022, 15:40
0
а зачем тут SelectFilters?
попробуй так
...
'filters' => 'ms|vendor:vendors,
parent:parents',
...
и название чанков наверное не верно
по идеи так
'tplFilter.outer.resource|parent' => 'filterSelectOuter',
'tplFilter.row.resource|parent' => 'filterSelectRow',
все есть тут
docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2#%D0%A7%D0%B0%D0%BD%D0%BA%D0%B8-%D0%B8-%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5
Артур Шевченко
27 апреля 2022, 15:22
0
Ты просил пример, я тебе скинул пример. В моём примере есть объект заказа $msOrder из него можно получить любую информацию по этому заказу. Если тебе нужно слать уведомления при смене статуса, поменяй событие. список доступных событий есть в документации. А если хочешь, чтобы написали тот код который будет работать так как тебе нужно, составь ТЗ и опубликуй в разделе Работа.
Наумов Алексей
27 апреля 2022, 15:12
+1
насколько помню, такие простые теги pdoTools обработает без парсинга, сделав просто str_replace
Роман
27 апреля 2022, 15:09
+1
Василий спасибо за разбор и за pdoTools. Давно заметил, что modParser больше памяти потребляет, да и по скорости иногда проигрывает. pdoTools отличный инструмент, редко встречаю сайты, которые бы его не использовали.
Miša Bulic
27 апреля 2022, 13:41
0
У меня такой вопрос, если всё переписано на феном, но внутри сниппета по умолчанию выводится вот так:
@INLINE <ol class="breadcrumb">[[+output]]</ol>
значит ли это что я параллельно использую стандартный парсер?
Михаил
27 апреля 2022, 13:19
0
Но вы ведь тут не передаете информацию оплачен заказ или нет? Только информацию о заказе, а при ондлайноплате меняется статус заказа, вот отправлять этот статус при изменении, у меня как раз проблема.
Уведомления о новых заказах и так приходят.
Василий Наумкин
27 апреля 2022, 11:55
0
Не понял почему это нельзя исправить.
Потому, что тогда парсер перестанет быть рекурсивным и ты не сможешь делать вот так:
[[~[[+id]]]]

Смысл в том, что после разбора внутреннего тега [[+id]] получается новый тег, например [[~9]], а он уже превращается в ссылку на документ с id = 9.

То есть, нужно парсить этот тег минимум 2 раза — это и есть рекурсия. Так весь MODX и работает, это его чуть ли не основная фишка.
Иван
27 апреля 2022, 11:47
0
Как ты исправишь основную фишку рекурсивого парсера — рекурсивный разбор тегов?
Если я правильно понял, то проблема в том, что парсер MODX парсит изнутри, а не снаружи, поэтому парсит лишнее. Не понял почему это нельзя исправить.