Наумов Алексей

Наумов Алексей

С нами с 31 марта 2013; Место в рейтинге пользователей: #13
Наумов Алексей
18 декабря 2023, 12:35
+1
На самом деле действительно, для разработки более-менее серьезных решений, подобный подход с отложенным выполнением заданий, занимающих длительное время — must have.
Правда 99% сайтов все равно это не используют (вообще ни на одном не своем сайте ни разу не видел Scheduler, а сам применял единожны)… разработчики не хотят для простых визиток или несложных магазинов усложнять себе работу…

Вижу еще 1 плюс в таком подходе, правда не знаю, сработает ли он с Scheduler… допустим при отправке данных в CRM та была временно недоступна. В этом случае с планировщиком заданий задачу можно перенести на некоторое время вперед и повторить отправку данных позже еще раз. Если же данные в CMR отправлять в момент создания заказа — естественно так уже не сделать.
Наумов Алексей
11 декабря 2023, 13:36
0
не совсем я понял суть задачи…
но почему бы не сделать через регулярное выражение?
отсюда: ^en/(.*)$
сюда: ru/$1
но естественно, что это сработает, только если все страницы сайт.ру/en/ не будут опубликованы, т.к. компонент работает через плагин на OnPageNotFound
Наумов Алексей
08 декабря 2023, 14:23
0
очень долго — это ну не знаю, 5 или 15 секунд
я по приколу подождал около 2х минут, ничего не произошло, тестовый сайт не работает. ни уведомлений, ни предупреждений — тишина…

для платного компонента презентация не очень) я раньше покупал и использовал ms_CDEK2, было интересно сравнить, но не судьба похоже
Наумов Алексей
08 декабря 2023, 11:41
+1
тестовый сайт что-то не аллё, не могу выбрать никакой способ доставки, radio заблокированы
Наумов Алексей
06 декабря 2023, 11:02
1
+1
Почитайте теперь здесь:
docs.modx.pro/components/minishop2/development/events

Вот реально там в первом же примере написано, что нужно сделать.
Наумов Алексей
04 декабря 2023, 12:20
0
И Redirector, и autoRedirector и easyRedirects имеют в своём составе плагин, который висит на событии OnDocFormSave и отслеживают изменение url ресурса.

Но есть одно но) Все компоненты для того чтобы узнать какой был старый url у страницы — они его сохраняют где-то заранее, к примеру на событии OnBeforeDocFormSave (в properties ресурса) или OnDocFormRender (в сессию). И только потом на OnDocFormSave уже идет сравнение старого адреса и нового и при необходимости создание редиректа.
Ну в общем то любой компонент для импорта событие OnDocFormRender точно не вызовет.
В принципе OnBeforeDocFormSave в autoRedirector вроде как должен срабатывать, если msImportExport обновляет товар через процессор resource/update… но не знаю, не разбирался.

В общем для них лучше свой плагин написать с созданием правил редиректа (благо там и нужно то заполнить 2 поля минимально), насколько помню у того же msImportExport есть событие, куда приходят данные при обновлении товара.
Наумов Алексей
01 декабря 2023, 10:47
0
привет! Конкретно для главной страницы конечно спорный вопрос… я бы через компонент не делал. Обычно такие редиректы нужны когда сайт переезжает на другой адрес. В этом случае рациональнее сделать редирект всего сайта средствами nginx или через htaccess, смотря какой сервер.

Дело в том, что у главной страницы uri — index, а url, который открываем в браузере — пустой.
Чтобы компонент смог обработать такой редирект — нужно прям отдельное условие добавить в код…
Наумов Алексей
30 ноября 2023, 10:30
+1
как минимум эта строка написана с ошибкой:
'parents'  => '{$_modx->resource.id} ',
внимательно посмотрите, вы в параметр parents передаете строку "{$_modx->resource.id}", правильно это делать без кавычек и скобок:
'parents'  => $_modx->resource.id,
Наумов Алексей
29 ноября 2023, 12:25
1
+1
Есть такая штука:
modstore.pro/packages/ecommerce/seotabs

Но вообще принцип:
плагин на OnPageNotFound, в котором разбирается текущий url и происходит отображение нужной информации.
Наумов Алексей
27 ноября 2023, 18:44
0
Спасибо! Да, я в Redirector что-то не всю логику понял, и возможно что оттуда ко мне тоже глюки переехали…
Проведу еще тесты на срабатывание редиректов, если что поправлю и обновлю компонент.

Правда вот с контекстами вряд ли смогу, т.к. на своих сайтах их не применяю.
Не получится точнее описать, с какими неточностями столкнулись?
Наумов Алексей
21 ноября 2023, 10:42
0
Так это с tickets какая-то засада… он под MODX 3 вообще работает хоть как-то?
/core/components/tickets/model/tickets/metadata.mysql.php
Наумов Алексей
19 ноября 2023, 11:20
0
Это вообще никак не задумано) можно удалять конечно бы, пустые каталоги раздражают. Такая же история с miniShop2 есть, ну или была, не знаю, тоже часто каталоги остаются.
Наумов Алексей
17 ноября 2023, 10:55
0
Кстати, я почему не заметил проблемы.
В MODX 3 создание ресурса теперь реализовано через отдельное упрощенное окно, похожее быстрое создание ресурса. Ну и для этого окна не возникает события OnDocFormPrerender.

А при использовании Collection ресурс создается старым способом, с открытием новой страницы (?a=resource/create).

Я этот момент как-то упустил. В общем сейчас при создании ресурса вкладка Файлы не показывается.
Наумов Алексей
17 ноября 2023, 10:51
0
Выпустил обновление, хотя по сути там и есть 3 строчки, которые я выше написал.
Наумов Алексей
16 ноября 2023, 20:45
+1
Привет! Да, кажется есть ошибка при создании нового ресурса… завтра постараюсь поправить, затестировать, выпустить обновление.

Временно можно в плагине в начале поставить проверку типа
case 'OnDocFormPrerender':
    if(empty($resource)) {
      return;
    }
    .. код ниже
Наумов Алексей
14 ноября 2023, 11:31
+1
Да, типа того… в целом можно и внутрь сниппета fmFiles в будущем засунуть проверку… хотя мне кажется случай использования SymLink в целом не самый частый
Наумов Алексей
14 ноября 2023, 11:05
0
А если параметр resource если указать для сниппета fmFiles правильный (соответствующий основному ресурсу)?..
Наумов Алексей
14 ноября 2023, 10:00
0
Хоть по подробнее как-то… если хотите улучшения. Я этот сценарий не использую в своей работе.