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

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

С нами с 31 марта 2013; Место в рейтинге пользователей: #13
Наумов Алексей
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
Хоть по подробнее как-то… если хотите улучшения. Я этот сценарий не использую в своей работе.
Наумов Алексей
03 ноября 2023, 14:47
+1
пробуй так:

'resources' => $resource_id,
Наумов Алексей
25 октября 2023, 16:41
+1
Если не видели modx.pro/components/24302
Моя версия компонента для MODX 3, основные возможности сохранены и даже расширены.
Если к компоненту будет интерес — буду развивать!
Наумов Алексей
26 сентября 2023, 11:07
0
Да, нигде не публиковал.., только у себя использовал на сайтах.
Наумов Алексей
26 сентября 2023, 10:53
0
У меня имеется компонент, который еще несколько лет назад вышел из FileAttach, но я его собрал под другим именем и расширил под свои нужды. На 90% он адаптирован под MODX 3, не работало буквально пару вещей…
Наумов Алексей
22 сентября 2023, 09:25
+1
Никак, порядок жестко прописан в коде.

Поменяйте его в файле.