Мультизагрузка изображений в админке MODX Revolution при помощи MIGX. Админка modx
Админка modx не видит файлы
Добрый день.
Возникла проблема с админкой modx. После длительной работы над сайтом, админка modx перестала видеть файлы раздела «файлы», и через диспетчер файлов тоже не видит ни файлы ни папки, ничего… Использую локалку Open server. Удалял все содержимое папки core/cache. Также пытался «перезапустить права доступа», но страница после этого не перезагружается. Еще попробовал создать контент-менеджера с правами, но он тоже не видит файлы..
Версия MODX: Revolution 2.6.0-pl
Журнал ошибок:[2018-02-10 01:43:02] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 166) Could not cache context settings for mgr. [2018-02-10 01:43:02] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 166) Could not cache context settings for mgr. [2018-02-10 01:43:02] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 166) Could not cache context settings for mgr. [2018-02-10 01:43:02] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 166) Could not cache context settings for mgr. [2018-02-10 01:43:02] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 509) Error caching script elements/modplugin/5 [2018-02-10 01:43:03] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-10 01:43:03] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-10 01:43:03] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-10 01:43:09] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-10 01:43:17] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-10 01:44:53] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-10 19:02:17] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-10 19:02:24] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-10 19:02:53] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 13:24:25] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modx.class.php : 990) `` is not a valid integer and may not be passed to makeUrl() [2018-02-16 13:24:25] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modresponse.class.php : 210) Attempted to redirect to an empty URL. [2018-02-16 13:24:42] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modx.class.php : 990) `` is not a valid integer and may not be passed to makeUrl() [2018-02-16 13:24:42] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modresponse.class.php : 210) Attempted to redirect to an empty URL. [2018-02-16 14:00:04] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:05:55] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:08:17] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:09:33] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:14:09] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:14:16] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:14:36] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:14:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/en/core/setting [2018-02-16 14:24:50] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/en/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/en/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/en/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/en/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/en/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-16 14:51:49] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/source [2018-02-16 14:52:10] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 16:45:41] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 21:59:35] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 22:01:27] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 22:05:47] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 22:44:48] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 22:45:27] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-16 22:51:47] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-17 14:37:01] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-17 14:37:34] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modprocessor.class.php : 256) Processor failed creating output array due to JSON error 5 [2018-02-17 15:57:55] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modx.class.php : 990) `` is not a valid integer and may not be passed to makeUrl() [2018-02-17 15:57:55] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modresponse.class.php : 210) Attempted to redirect to an empty URL. [2018-02-17 15:59:34] (ERROR @ D:\Dima\OSPanel\domains\mysite.meine\core\model\modx\modcachemanager.class.php : 344) Error caching lexicon topic lexicon/ru/core/defaultmodx.ru
Удобная админка для менеджеров в Modx Revolution
Добро! Опять я филоню и вот уже больше месяца Вы не видите от меня ни одного поста. Исправляюсь. Данный пост будет интересен разработчикам на системе Modx Revolution. В этом уроке я расскажу как облегчить редактирование сайта обычному менеджеру, который ни капельки не разбирается в сайтах.
Для начала напомню Вам как настроить админку Modx Revo — об этом я писал в этом посте. У меня есть некоторые изменения, а точнее упрощение этой самой админки. Дело в том, что в той политике доступа (для тех кто не понял — читайте внимательнее пост по ссылке) указаны вкладки, которые никак не понадобятся обычному менеджеру, а наоборот, могут ввести его в ступор (скажем такие вкладки в меню, как «настройка системы» или «источник файлов»). Предлагаю новую политику доступа. Все пункты, которые описаны в той статье смело выполняйте, но на 6-ом пункте оставьте галочки только на этих параметрах:
- change_password (Пользователь может менять свой пароль)
- change_profile (Пользователь может редактировать свой профиль)
- class_map (Видеть список классов в карте классов)
- countries (Смотреть список стран)
- delete_document (Удалять и перемещать ресурсы)
- directory_create (Создавать каталоги в файловой системе)
- directory_list (Получать список подкаталогов для каталога в файловой системе)
- directory_remove (Удалять каталоги в файловой системе)
- directory_update (Переименовывать каталоги в файловой системе)
- edit_document (Редактировать ресурсы)
- file_create (Создавать файлы)
- file_list (Смотреть список файлов в определенном каталоге)
- file_manager (Использовать диспетчер файлов)
- file_remove (Удалять файлы)
- file_tree (Видеть дерево файлов в левой навигационной панели)
- file_update (Изменять файлы)
- file_upload (Загружать файлы в папку)
- file_view (Просматривать содержимое файла)
- frames (Использовать бэкэнд MODX)
- help (Смотреть страницу «Помощь»)
- home (Смотреть страницу приветствия)
- list (Возможность «list» любого объекта) «List» означает получить колекцию объектов)
- load (Возможность «загружать» объекты, или быть в состоянии вернуть их как экземпляр объекта вообще)
- logout (Возможность выходить как пользователь)
- menu_site (Показывать в верхнем меню пункт «Сайт»)
- menu_tools (Показывать в верхнем меню пункт «Инструменты»)
- menu_user (Показывать в верхнем меню пункт «Пользователь»)
- new_document (Создавать ресурсы)
- publish_document (Публиковать или отменять публикацию ресурсов)
- purge_deleted (Очищать корзину)
- resource_duplicate (Создавать копию ресурса)
- resource_quick_create (Использовать «Быстро создать ресурс» в контекстном меню)
- resource_quick_update (Использовать «Быстро обновить ресурс» в контекстном меню)
- resource_tree (Смотреть дерево ресурсов в левой навигационной панели)
- save_document (Сохранять ресурсы)
- sources (Управлять источниками файлов и типами источников файлов)
- source_delete (Удалять источник файлов)
- source_edit (Редактировать источник файлов)
- source_save (Создавать и сохранять источник файлов)
- source_view (Видеть источник файлов)
- view (Возможность «просмотра» объектов)
- view_document (Просматривать ресурсы)
При таких настройках в админке будет только все необходимое обычному менеджеру.
Удаление ненужных tv-параметров и плейсхолдеров из админки
Зачастую для достаточно простых сайтов (каких как раз-таки большинство) не нужна куча непонятных плейсхолдеров типа «Псевдоним», «Аннотация (введение)» или все «Настройки» с кучей, ненужных простому обывателю, непонятных параметров. А нужен всего лишь «Заголовок» и «Содержимое ресурсов». Сейчас я покажу, на примере одного из своих сайтов, как настроить для менеджера упрощенную админку.
Заходим в «Настройка форм»
Далее нажимаем на «Создать новый профиль»
Называем «manager» и ставим галочку «Активный». Сохраняем
Кликаем правой кнопкой мыши на профиль и нажимаем «Редактировать»
В открывшемся окне нажимаем на «Группа пользователей» и добавляем «manager»
Возвращаемся в «Профиль» и нажимаем на «Создать новый набор правил» (у меня уже созданы несколько)
В «Действии» указываем «Обновить ресурс»
Скорее всего у Вас уже будет создан шаблон и страница, и вы на этом этапе будете как раз настраивать админку, поэтому советую также выбрать «Обновить ресурс», а потом просто скопировать параметры в «Создать ресурс». Как вы уже, наверное догадались — это создаются правила для редактирования определенного шаблона, а «Действие» определяет когда прибегать к этим правилам: при создании или при редактировании. Если не поняли - ничего страшного, дальше все станет понятно.
В шаблоне выбираем тот шаблон, к которому Вы хотите задать правила
Я буду присваивать правила к шаблону «Услуги».
Совет: По мне очень удобно открыть два браузера: в одном (Chrome) админка под «admin-ом», а во втором (Opera) под «manager-ом»
Далее редактируем вновь созданный набор правил
Теперь начинается самое интересное. Если вы в этом разделе в первые — то Вам может стать плохо от кучи непонятных параметров. Но спустя некоторое время Вы начнете разбираться что к чему.
Вкладка «Информация о наборе правил и поля ресурсов»
В «Информация о наборе правил и поля ресурсов» содержатся все те параметры, которые мы видим в админке
Здесь они выглядят так:
Например modx-resource-content — это параметр, отвечающий за «Содержимое ресурса». Если мы уберем галочку, то при редактировании шаблона «Услуга» мы не увидим «Содержимое ресурса».
Все параметры выделены в отдельные блоки. Например в modx-resource-main-left
включены такие параметры как:
- Заголовок (pagetitle)
- Расширенный заголовок (longtitle)
- Описание (decscription)
- Аннотация (introtext)
Если мы уберем галочки, то они исчезнут из админки (незабываем, что это произойдет только для определенного шаблона, в данном случае шаблона «Услуга»)
Но мы такого делать не будем, лучше определимся какие плейсхолдеры нам нужны и оставим только их. В данном случае, мне нужен Заголовок, Пункт Меню, Содержимое ресурса и TV-параметры, которые я создал сам. Я снял галочки со следующих параметров:
и получил такую админку:
Мне не очень нравится, что основная вкладка называется «Документ». Ее можно переименовать в разделе «Регионы» (о том, как это сделать чуть ниже)
Вкладка «Регионы»
«Регионы» отвечают за блоки. Скажем modx-resource-settings отвечает за весь блог, где заголовок, описание, выбор шаблона, псевдоним, галочки «Опубликован» и так далее. Пожалуй для наглядности я сделаю скриншоты-шпаргалки. Разберем каждый блок в отдельности:
modx-resource-settings
Это весь блок, под названием «Документ»
Так вот чтобы переименовать блок «Документ», скажем в «Основная информация» нужно в «Заголовок вкладки» (смотрите предыдущий скриншот) напротив modx-resource-settings написать «Основная информация»
modx-resource-main-left
Левая часть блока «Документ»
modx-resource-main-right
Правая часть блока «Документ»
modx-page-settings
Это вся вкладка «Настройки»
modx-page-settings-left
Левая часть блока «Настройки»
modx-page-settings-right
Правая часть блока «Настройки»
modx-page-settings-right-box-left
modx-page-settings-right-box-right
modx-panel-resource-tv
Вся вкладка tv-параметров
modx-resource-access-permissions
Этот параметр не влияет на отображение блоков.
Ну вот с вкладками «регионов» мы разобрались. Продолжим редактировать наборы правил для шаблона «Услуги»
Мне нужно вытащить мои tv-параметры на главную вкладку и убрать вкладку «Настройки».
Сначала убираем вкладку «Настройки»
Это делается снятием галочек со следующих регионов:
Вкладка «Настройки» исчезла
Теперь переносим tv-параметры в основную вкладку и убираем вкладку «Дополнительные поля»
У меня имеются tv «icon» и «img». Для того, чтобы их перенести в основную вкладку нужно в разделе «Дополнительные поля» в «Регионе» указать новый регион modx-resource-main-left (это делается двойным нажатием мыши)
и убрать галочку с modx-panel-resource-tv (а заодно и с modx-resource-access-permissions) в разделе «Регионы»
Теперь админка выглядит так:
У нас еще остались два tv-параметра: title и snippet. Я их сделал специально для SEO, чтобы на виду у менеджера их не было, а вот их специалист по SEO или я сам пользовался этими параметрами. Да, несомненно, можно было использовать, скажем description и introtext для этих целей, но мне необходимо их спрятать в другую вкладку под названием «SEO оптимизация» (плейсхолдеры по умолчанию, к сожалению, нельзя переносить в другие вкладки)
Создаем новую вкладку «SEO оптимизация»
Для этого идем в раздел «Регионы» и нажимаем на кнопку «Создать новую вкладку»
Нажимаем сохранить. Я присвоил этой вкладке ID modx-resource-seo.
Теперь этот id вставляем в дополнительные поля в наших tv-параметрах title и snippet
И смотрим на результат:
Получилась чистенькая, простая в администрировании, страница с вкладкой «SEO оптимизация».
Из этой статьи вы можете многое почерпнуть и, возможно, заново открыть для себя преимущества Modx Revolution и узнать насколько гибкой она может быть в разработке. На этом у меня все! До новых постов.
bayguzin.ru
Мультизагрузка изображений в админке MODX Revolution при помощи MIGX
В этой статье содержится информация о том, как использовать динамический медиа-источник с собственной автоматически созданной папкой для каждого ресурса. Для одновременной загрузки нескольких файлов мы будем использовать диалог multiupload MODX. Все загруженные файлы будут автоматически добавлены в качестве элементов в сетку MIGX. Удаление элементов приведет к удалению файла изображения.Шаг 1. Создаем динамический медиа-источник.
В админке переходим в раздел Медиа — Источники файлов. Создаем новый источник файлов со следующими параметрами:- Имя: ResourceMediaPath
- Тип источника файлов: Файловая система
Шаг 2. Создаем переменную (TV)
Закладка «Общая информация» Имя: resourcealbumЗакладка «Параметры ввода» Тип ввода: migx Конфигурации: resourcealbumЗакладка «Доступно для шаблонов» Отмечаем нужный шаблон, к которому будет привязана переменнаяЗакладка «Источники файлов» Для вашего контекста (по умолчанию — web) укажите источник файлов ResourceMediaPathШаг 3. Создаем конфигурацию
Переходим: Приложения->MIGX->Закладка: MIGX Создаем новую конфигурацию кликом по «Добавить элемент» name: resourcealbum Жмем 'Выполнено' для сохранения конфигурации Кликаем правой кнопкой мыши по созданной конфигурации и выбираем 'Экспорт/импорт' Вставляем в поле Json следующий код:{ "formtabs":[ { "MIGX_id":71, "caption":"Image", "print_before_tabs":"0", "fields":[ { "field":"title", "caption":"Title", "MIGX_id":327, "pos":1 }, { "MIGX_id":329, "field":"description", "caption":"Description", "description":"", "description_is_code":"0", "inputTV":"", "inputTVtype":"", "validation":"", "configs":"", "restrictive_condition":"", "display":"", "sourceFrom":"config", "sources":"", "inputOptionValues":"", "default":"test", "useDefaultIfEmpty":"0", "pos":2 }, { "MIGX_id":330, "field":"showBtn", "caption":"Show button", "description":{ "field":"showBtn", "caption":"Show button", "inputTV":"showBtn" }, "description_is_code":"0", "inputTV":"", "inputTVtype":"checkbox", "validation":"", "configs":"", "restrictive_condition":"", "display":"", "sourceFrom":"config", "sources":"", "inputOptionValues":"yes==yes", "default":"yes", "useDefaultIfEmpty":1, "pos":3 }, { "MIGX_id":425, "field":"image", "caption":"Image", "description":"", "description_is_code":"0", "inputTV":"", "inputTVtype":"image", "validation":"", "configs":"", "restrictive_condition":"", "display":"none", "sourceFrom":"migx", "sources":"", "inputOptionValues":"", "default":"", "useDefaultIfEmpty":"0", "pos":4 } ], "pos":1 } ], "contextmenus":"edit_migx||duplicate_migx||remove_migx_and_image||movetotop_migx||movetotop_bottom", "actionbuttons":"loadfromsource||uploadfiles", "columnbuttons":"", "filters":"", "extended":{ "migx_add":"Add Image", "disable_add_item":1, "add_items_directly":"", "formcaption":"Image", "update_win_title":"", "win_id":"resourcegallery", "maxRecords":"", "addNewItemAt":"bottom", "multiple_formtabs":"", "multiple_formtabs_label":"", "multiple_formtabs_field":"", "multiple_formtabs_optionstext":"", "multiple_formtabs_optionsvalue":"", "actionbuttonsperrow":4, "winbuttonslist":"", "extrahandlers":"this.handleColumnSwitch", "filtersperrow":4, "packageName":"", "classname":"", "task":"", "getlistsort":"", "getlistsortdir":"", "sortconfig":"", "gridpagesize":"", "use_custom_prefix":"0", "prefix":"", "grid":"", "gridload_mode":1, "check_resid":1, "check_resid_TV":"", "join_alias":"", "has_jointable":"yes", "getlistwhere":"", "joins":"", "hooksnippets":"", "cmpmaincaption":"", "cmptabcaption":"", "cmptabdescription":"", "cmptabcontroller":"", "winbuttons":"", "onsubmitsuccess":"", "submitparams":"" }, "columns":[ { "MIGX_id":1, "header":"ID", "dataIndex":"MIGX_id", "width":10, "renderer":"", "sortable":"false", "show_in_grid":1 }, { "MIGX_id":2, "header":"Title", "dataIndex":"title", "width":20, "sortable":"false", "show_in_grid":1, "renderer":"", "clickaction":"", "selectorconfig":"", "renderchunktpl":"", "renderoptions":"", "editor":"this.textEditor" }, { "MIGX_id":3, "header":"Image", "dataIndex":"image", "width":20, "renderer":"this.renderImage", "sortable":"false", "show_in_grid":1 }, { "MIGX_id":4, "header":"Published", "dataIndex":"published", "width":"", "sortable":"false", "show_in_grid":1, "renderer":"this.renderSwitchStatusOptions", "clickaction":"switchOption", "selectorconfig":"", "renderchunktpl":"", "renderoptions":[ { "MIGX_id":1, "name":"published", "use_as_fallback":1, "value":1, "clickaction":"switchOption", "handler":"", "image":"assets\/components\/migx\/style\/images\/cb_ticked.png" }, { "MIGX_id":2, "name":"published", "use_as_fallback":"", "value":1, "clickaction":"switchOption", "handler":"", "image":"assets\/components\/migx\/style\/images\/cb_ticked.png" }, { "MIGX_id":3, "name":"unpublished", "use_as_fallback":"", "value":"0", "clickaction":"switchOption", "handler":"", "image":"assets\/components\/migx\/style\/images\/cb_empty.png" } ], "editor":"" } ] }Готово, можно использовать
Теперь вы сможете создавать ресурсы-галереи, использовать пакетную загрузку изображений и синхронизировать элементы MIGX с вашими файлами. Для вывода изображений в Front-end используйте стандартные средства MIGX — getImageList:[[getImageList? &tvname=`resourcealbum` &tpl=`@CODE:<h4>[[+title]]</h4><img src="[[+image]]" />` &where=`{"published":"1"}` ]]Либо используйте внешний чанк, если предполагается обработка изображений при помощи phpthumb или что-то типа того:[[getImageList? &tvname=`resourcealbum` &tpl=`imageTpl` &where=`{"published":"1"}` ]] Все что вы видите выше, написано на основе документации. Там все отлично описано, но. Есть нюанс, достаточно неприятный: файлы сохраняются в папку assets/resourceimages/{id}/, но id у ресурса появится только после того, как ресурс будет сохранен. То есть если вы создадите ресурс и попытаетесь загрузить изображения — все они загрузятся в корень сайта. Это плохо. Чтобы не допустить подобного, спрячем наше поле и будем показывать его только для сохраненного документа. В тот момент, когда поле спрятано — отображаем вместо него сообщение с призывом сохранить документ. Встроенного механизма для отображения подобных сообщений в MODX нет, поэтому используем костыль:Создаем новое TV с именем resourcealbum-fake типа checkbox, в поле «Подпись» или «Описание» размещаем нужный текст (например, «Документ не сохранен! Сохраните документ!»). Так как мы не указали никакой разметки для данного поля — при редактировании документа выведется только подпись и описание поля.
Осталось заставить админку MODX отображать поле resourcealbum-fake и прятать поле resourcealbum при создании документа (до первого сохранения) и наоборот, отображать поле resourcealbum и прятать поле resourcealbum-fake при редактировании документа.
Открываем Сервис — Настройка форм. Жмем «Создать новый профиль». Называем как нравится (gallery, например), ставим галочку «Активный», сохраняем.
На созданном профиле кликаем правой кнопкой мыши — «Редактировать». Теперь нам нужно добавить два набора правил. Жмем «Новый набор павил», действие: «Создать ресурс», шаблон: «Фотогалерея» (выбираете шаблон, к которому привязаны TV resourcealbum и resourcealbum-fake. Сохраняем.
На созданном только что правиле кликаем правой кнопкой мыши — «Редактировать». Выбираем закладку «Дополнительные поля» и снимаем галочку напротив resourcealbum.
Повторяем процедуру для поля resourcealbum-fake:
Открываем Сервис — Настройка форм. На профиле gallery кликаем правой кнопкой мыши — «Редактировать». Жмем «Новый набор правил», действие: «Обновить ресурс», шаблон: «Фотогалерея». Сохраняем.
На созданном только что правиле кликаем правой кнопкой мыши — «Редактировать». Выбираем закладку «Дополнительные поля» и снимаем галочку напротив resourcealbum-fake.
Все, теперь при создании ресурса после выбора шаблона в закладке «Дополнительные поля» вместо поля MIGX с возможностью загрузки изображений будет отображаться надпись «Документ не сохранен! Сохраните документ!». После сохранения ресурса будет доступен инструментарий для мультизаливки файлов:
modx.ru