Не срабатывает OnFileManagerUpload при загрузке файлов в галерею ресурсов
Перепишу вопрос с учетом того что открылось. Не срабатывает системное событие OnFileManagerUpload при загрузке файлов в галерею ресурсов. куда смотреть, куда копать подскажите? та же история с транслитом. Работает при загрузке в файлоовую систему, но не при загрузке в рессурсы
Комментарии: 19
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
По простой причине — они сами по себе никак файлами не управляют, не загружают, и даже не знают, где эти файлы лежат по сути.
Они только обрабатывают входящие команды и передают массив данных загрузчику MODX, который в свою очередь передает команду на загрузку (или другие операции) источнику файлов.
Источник файлов может быть разным, не только локальным. К примеру на какой-нибудь S3 Amazon загружать.
Вывод — пользоваться встроенными событиями на загрузку MODX.
Вообще стоит взять в привычку либо код прикладывать имеющийся, либо описывать задачу. Тогда и ответы будут точными — вдруг вашу задачу можно решить по другому, или может у вас ошибка в коде.
switch ($modx->event->name) {
case 'OnFileManagerUpload':
$modx->log(1, 'запущен плагин перемименование');
}
_________________
source Нашел уже. Спасибо
Используй тогда уж Только это вероятно будет бесполезная распечатка. Потому что здесь идет речь об источнике файлов, а не о передаваемом файле
$total получается 0 хотя файл то по этому урл создан.
если $this_path прописать
то файлы считает
ну и собственно тогда файлы получаю
Почему из переменной не хочет получать?
Давай по порядку.
1. В таблицу пишется не абсолютный путь файла, а относительный. Не удивительно, что применяя MODX_ASSETS_PATH ты ничего не находишь. Используй просто /assets/ или если хочешь MODX_ASSETS_URL.
2. Это что за запись такая? Откуда такой синтаксис?
Правильно будет вот так
3. Используй getIterator вместо getCollection этот метод потребляет меньше памяти.
2.Этой строки нет больше, ошибку сразу исправил с => не работает это выдает ошибку
[2] => You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND `msResourceFile`.`url` = '/assets/images/resources/91084/thumb/.jpg' ) ORDE' at line 1
3Хорошо. ТОлько пока не работает в любом случае.
вот в этой строке не берет из переменной данные никак
Когда получаю результаты $total начинает считаться только с генерации thumb. У базового файла так и стоит $tota 0. Довольно странно.Как и В результатах по ним ниже
Полностью код так выглядит
Результат:
Думаю что когда передаю в переменной «url» по каждому файлу, он его так же пропускает просто т.к. этот файл только что создан. и сможет его найти в таблице только при запуске плагина на другом файле. Странно…