[ms2Gallery] Более просторная версия 1.5.0
Привет, друзья!
Хочу представить вам новую версию компонента для управления файлами ресурсов MODX ms2Gallery, в котором стало гораздо больше рабочего пространства.
Теперь в один экран входит лишний ряд файлов вместе с постраничной навигацией, а загрузчик не мозолит глаза лишний раз — он выводится в отдельном окошке:
Остальной список изменений, о которых я не писал с версии 1.4.3, под катом.
Добавлены две новые системные настройки:
— [#9] Исправлена сортировка файлов, которые не являются картинками
— [#10] Улучшена работа с файлами на русском языке
— Исправлена загрузка больших файлов (от 50 Мб и выше)
— Процессор загрузки может принимать url вместо пути к файлу на локальном сервере.
Вот пример консольной загрузки картинки с удалённого сайта:
Хочу представить вам новую версию компонента для управления файлами ресурсов MODX ms2Gallery, в котором стало гораздо больше рабочего пространства.
Теперь в один экран входит лишний ряд файлов вместе с постраничной навигацией, а загрузчик не мозолит глаза лишний раз — он выводится в отдельном окошке:
Остальной список изменений, о которых я не писал с версии 1.4.3, под катом.
Добавлены две новые системные настройки:
- new_tab_mode — более правильная регистрация галереи на странице ресурса, которая хорошо работает с AjaxManager, но не работает с miniShop2 и Articles (по их вине)
- disable_for_ms2 — возможность включить или отключить вывод галереи на странице товара miniShop2. Раньше галерея там всегда отключалась.
— [#9] Исправлена сортировка файлов, которые не являются картинками
— [#10] Улучшена работа с файлами на русском языке
— Исправлена загрузка больших файлов (от 50 Мб и выше)
— Процессор загрузки может принимать url вместо пути к файлу на локальном сервере.
Вот пример консольной загрузки картинки с удалённого сайта:
<?php
define('MODX_API_MODE', true);
require 'index.php';
$modx->getService('error','error.modError');
$modx->setLogLevel(modX::LOG_LEVEL_ERROR);
$modx->setLogTarget(XPDO_CLI_MODE ? 'ECHO' : 'HTML');
$res = $modx->runProcessor('gallery/upload', array(
// Ссылка на файл
'file' => 'https://modx.pro/inc/img/modx_pro_sm.png',
// Id ресурса с галереей
'id' => 1,
),
array(
'processors_path' => MODX_CORE_PATH . 'components/ms2gallery/processors/mgr/'
)
);
if ($res->isError()) {
print_r($res->getAllErrors());
}
else {
print_r($res->getObject());
}Обновляем, тестируем, пишем отзывы. Комментарии: 32
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.




Менеджеры ноют, что нужно обновлять страницу, да и честно говоря мне тоже кажется это не удобным.
При создании ресурса кидать фото в /assets/images/temp к примеру, после сохранения присваивать ресурсу (вроде файлы в tickets так и работают).
Ну и тоже самое для ms2
А если еще вспомнить, что галерея может работать с удалённой файловой системой, где-нибудь на Amazon S3, то всё становится гораздо более сложным.
Так что, извини, пока нет.
после сохранения у нас файлы лежат в assets/images/resources/{$id}
При создании ресурса создавать папку, к примеру assets/images/resources/{$timestamp}
После сохранения ресурса переименовывать {$timestamp} на {$id} созданного ресурса
Тут конечно может время совпасть при создании нескольких товаров но очень сомнительно.
ну и папку переименовать не так проблемно как перенести кучу фоток. amazon в пример не берем.
Что делать, если менеджер загрузил 200 файлов и ушел гулять? Или у него отключили интернет на 2 дня?
В смысле, нужно переписать компонент так, чтобы он больше не работал с источниками файлов и складывал всё всегда на локальном сервере?
Наверное, приятно думать, что автор дополнения ленивая скотина и просто из вредности не хочет реализовывать твои хотелки, но, к сожалению, в данном случае это не так.
Как сохранять? Какой timestamp принадлежит какому будущему ресурсу?
С галереей такое делать нет никакой выгоды: создали документ — сохранили документ — залили картинки == создали документ — залили картинки — сохранили документ. Выигрыша по времени 0.
Создать товар — заполнили все поля — сохранили, пошли дальше.
А сейчас создали товар — подождали перезагрузки страницы — заполнили поля — сохранили, пошли дальше.
и не совсем понятно, почему доп.параметры товара (размер, цвет) сделаны во время создания товара, а галерея и тд после
1. Заполнение полей
2. Сохранение товара
3. Загрузка файлов
Они есть все 3, и как их местами не меняй, они все занимают одно и то же время.
Вот здесь ты забыл, что при сохранении товара тоже нужно подождать перезагрузки страницы. Или менеджер жмёт Ctrl+S и, не дожидаясь ответа от сервера, закрывает окошко?
Нет, сейчас заполнили поля, сохранили, загрузили файлы и посшли в новый товар без дополнительного сохранения.
Потому что файлы в галерее при загрузке сохранять повторно не нужно, а товар уже был оформлен на первом этапе.
От перемены слагаемых местами ничего не изменится.
Как об стенку горох, ничего понимать не хочешь вообще.
Иначе мы бы в одном окошке создавали галерею, в другом ресурс, а третьем бы их соединяли друг с другом — как до сих пор работает Gallery.
Потому что за создание и обновление ресурса отвечают разные контроллеры.
Человек создаст ресурс (со случайным именем и alias, наверное) — а потом возьмёт, и опубликует его случайно. Он же не понимает, что делает в админке — почему бы и не опубликовать тогда?
В общем, у нас тут какая-то очередная волна «улучшений для дебилов» надвигается.
Ну неужели нельзя найти менеджеров, которые хоть немного умеют работать с компьютером, и закончили школу? Сейчас же кризис, много способных людей ищет работу — дайте им шанс.
Я объясняю: создали документ, заполнили пейджтайтл- сохраните, далее все остальное… Увы, это так сложно…
При открытии страницы создания, сразу сохранять ресурс со случайным названием и редиректить на контроллер обновления с новым id — а там уже всё будет.
В принципе, даже не видно будет панель создания, просто сразу почти редирект на редактирование.
Эх… Но лучше бы они усвоили порядок действий)
Вспомнил, на yii кто то таким образом сделал.
PS данный вопрос не содержит ГМО (зачеркнуто) претензий :))
Один лишний клик стоит трети рабочей области.
*Мечты*
Окошко вот тоже изначально сделать не мог. Попробую, позже.
Окошко и таблицу выкинул совсем, всё стало гораздо быстрее и удобнее.
А можете подсказать, как удалять файлы?
Если есть необходимость удалять старые фото, и добавлять новые, как это лучше организовать?
Задача в регулярном обновлении галереи, с частичной заменой фото в ней.
Есть ли у вас пример удаления отдельных файлов, или вообще всех файлов галереи конкретного ресурса?