Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 123 комментария

Prihod
Prihod
Рекомендация. При написании своего плагина следует учитывать, что уже запущенные процессы наблюдатели не увидят ваш плагин или изменения в нем, поэтому необходимо удалить все ранее запущенные наблюдатели. Наиболее быстро и надежно это сделать, выполнив в консоли сервера команду
kill -9 `pgrep -f '.*watcher.php'`
Prihod
Prihod
Если при обновлении пакета зависает процесс то скорей всего у вас накопилось большое количества файлов в директориях
/ваш путь/assets/components/msimportexport/tmp
/ваш путь/assets/components/msimportexport/upload
/ваш путь/core/components/msimportexport/data/task
А так как при обновлении пакета его текущею версия Modx архивирует то этот процесс в случае большого количества файлов занимает длительное время что в итоге привышает лимит выполнения php скрипта и процесс установки отваливается.

Решение
В консоли сервера выполните следующее команды которые находят в указанных директория файлы и папки старше 1 дня у удаляет их
find /ваш путь/assets/components/msimportexport/tmp -mindepth 1 -mtime +1 \( -type f -o -type d -empty \) -exec rm -rf {} +
find /ваш путь/assets/components/msimportexport/upload -mindepth 1 -mtime +1 \( -type f -o -type d -empty \) -exec rm -rf {} +
find /ваш путь/core/components/msimportexport/data/task -mindepth 1 -mtime +1 \( -type f -o -type d -empty \) -exec rm -rf {} +
для удаление файлов старше 30 минут замените -mtime +1 на -mmin +30
Артём
Артём
Prihod
Prihod
UPD
ieMs2 1.0.5-pl
msImportExport 2.0.21-pl

В обновлениях исправлена проблема сброса всего кэша у ресурсов на каждой итерации импорта.

Теперь для того что бы после импорта были видны изменения необходимо в настройках пресета импорта для опции "Действие по окончанию импорта" выбрать "Очистить весь кэш modx"
Артур Шевченко
Артур Шевченко
А как он поймёт из какого раздела пользователь попал в Ресурс Х? Как я понял, суть проблемы не в формировании ссылки, а в том, чтобы возвращать пользователя в тот раздел из которого он пришёл в Ресурс Х, при том, что этот ресурс физически есть только в Разделе 1, а отображается в Разделе 1 и в Разделе 2.
Алексей Смирнов
Алексей Смирнов
Так и делайте — создаете символическую ссылку как вы и говорите,
а потом в шаблоне проверяете тип ресурса символической и берите id в поле content и генерите сами нужный url он, как раз будет таким как нужно.
Если не хотите грузить pdoMenu полем content, можно придумать другое поле для «сбора» ID ресурса.
и никаких сниппетов и прочее.
weranda
weranda
Воть примерно это и пытаюсь выяснить. Это же где-то что-то надо модифицировать… PDOMenu там или что-то еще. Ведь он же перехватит управление, полагаю. Может быть вы или кто-то сталкивался с таким и есть более или менее готовое решение. Просто перелопачивать этот компонент меню, сам MODX — это мне с моими знаниями его работы недоступно.
Артур Шевченко
Артур Шевченко
При открытии раздела записывай его id в сессию в какую-нибудь переменную, а при выводе меню проверяй, какой id в этой переменной лежит такой раздел и делай активным.