Удобная админка для менеджеров в 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 (Видеть источник файлов)
- tree_show_resource_ids (Показывать идентификатор в дереве ресурсов)
- 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 и узнать насколько гибкой она может быть в разработке. На этом у меня все! До новых постов.
Настройка админ панели клиента Modx Revo
Когда я начал работать на CMF Modx Revolution (до этого сажал сайты на Evolution) я открыл для себя неприятную новость — я не могу создать админку для клиента с теми правами доступа, чтобы клиент ничего не испортил на сайте. То есть с закрытыми «Элементами», рабочими файлами системы, системными настройками и так далее. Вообщем я не знал как настроить админку под клиента. Сейчас знаю :)) И хочу поделиться этими знаниями с вами!
В Evolution все было достаточно просто: создаешь права пользователю и готово! А здесь нужно проделать достаточно много шагов, но сдругой стороны — в Modx Revolution с правами на документы и файлы можно делать все, что угодно (если конечно разбираться в этом). Ну что ж, начнем!
1. Переходим в «Безопасность» — «Контроль доступа» в верхнем меню админ-панели
2. Заходим во вкладку «Политика доступа»
3. Нажимаем на кнопку «Создать политику доступа»
У нас откроется окно с полями. В поле Имя пишем «manager», шаблон политики доступа — AdministratorTemplate. Жмем кнопку сохранить
4. После сохранения политики доступа «manager» мы видим, что она появилась у нас в списке политик доступа
5. Редактируем manager
6. Убираем галочки ненужных параметров
Внизу этой открывшейся страницы есть список параметров (разрешений). Нам нужно убрать галочки с тех параметров, которые отвечают за вывод каких либо ресурсов в админке, чтобы избежать редактирования или удаления нужных документов, файлов, элементов для правильной работы сайта.
Убираем галочки со следующих параметров:
- access_permissions Вывод страницы с настройками прав доступов пользователей
- dashboards Просмотр и управление панелями
- element_tree Возможность просмотра дерева элементов в левой навигационной панели
- menu_reports Показывать в верхнем меню пункт «Отчёты»
- menu_security Показывать в верхнем меню пункт «Безопасность»
- menu_system Показывать в верхнем меню пункт «Система»
- menu_tools Показывать в верхнем меню пункт «Инструменты»
- new_static_resource Создавать новые статичные ресурсы.
- remove_locks Удалять все блокировки на сайте
Обязательно нажимаем кнопку «Сохранить»
7. Переходим во вкладку «Безопасность» — «Контроль доступа» — «Роли»
8. Нажимаем кнопку «Создать новый», в поле Имя вбиваем Manager, Ранг — 9, нажимаем кнопку «Сохранить»
9. Сохраняем изменения и переходим в меню «Безопасность» — «Контроль доступа» — «Группы пользователей»
Правой кнопкой мыши жмем на «Administrator» и нажимаем «Создать группу пользователей»
10. Создаем новую группу: Имя — Manager, Политика бэкэнда — нет политики, жмем «Сохранить»
11. Находим ее в списке Групп пользователей и жмем «редактировать»
12. Заходим в меню «Доступ к контекстам» и нажимаем «Добавить контекст»
13. Контекст — mgr, Минимальная роль — Manager — 9, Политика доступа — Manager
14. Добавляем еще одни контекст
А точнее редактируем уже имеющийся web: Контекст — web, Минимальная роль — Manager — 9, Политика доступа — Administrator. Нажимаем кнопку «Сохранить»
15. Мы увидим такую картину! Сохраняем все во вкладке «Группа пользователя: Manager»
16. Далее: «Безопасность» — «Управление пользователями»
17. Создаем нового пользователя (это будет наш клиент) — нажимаем кнопку «Новый пользователь».
Имя вы ему можете задать какое угодно, я назову его — manager
18. Имя пользователя — manager, жмем галочку — Активный, вбиваем email
19. Указываем пароль
20. Перед тем как сохранить, зайдите во вкладку «Права доступа»
21. Жмем кнопку «Добавить пользователя в группу», Группа пользователя — «Manager», Роль — «Manager»
Сохраняем. На этом создание админ панели, где у клиента есть доступы только к правке и созданию страниц в дереве документов, закончено. Но этот пользователь до сих пор имеет доступ ко всем файлам системы. И поэтому мы сейчас сделаем так, чтобы он имел доступ только к одной папке, которую мы создадим в корне сайта Modx Revolution
22. Переходим во вкладку «Инструменты» — «Источники файлов»
23. Откроется список всех источников файлов. По умолчанию создан одни единственный — Filesystem
Перед созданием нового источника файлов, нужно сначала изменить этот. Нажимаем на «Filesystem» правой кнопкой мыши и выбираем «Редактировать»
24. Откроется такое окно. Жмем «Добавить группу пользователей»
25. Группы пользователей — Administrator, Минимальная роль — Super User — 0, Политика — Media Source Admin. Нажимаем «Сохранить»
26. Возвращаемся к Источникам файлов и создаем новый источник файлов
Назовем его «Manager», Тим источника файлов — Файловая система
Жмем «Сохранить»
27. Нажимаем правой кнопкой мыши на новый источник файлов «Manager» и выбираем «Редактировать»
28. Откроется такое окно! Нам нужно изменить первые 4 параметра
В basePath в поле значение мы вбиваем /manager/, basePathRelative и baseUrlRelative оставляем как есть со значениями «Да», в поле baseUrl пишем manager/
Жмем сохранить! Теперь осталось только задать права доступа к источнику файлов, но перед этим нам нужно задать источник файлов ко всем tv параметрам, которые будет администрировать наш клиент
29. Заходим в tv параметр
30. Нажимаем самую последнюю вкладку «Источники файлов»
и меняем источник файлов с «Filesystem» на «Manager». Сохраняем!
31. Добавляем группу пользователей в «Manager»
Теперь после всех проделанных шагов заходим в «Источник файлов» — «Manager» и добавляем группу пользователей в этот источник файлов
32. Группы пользователей — Manager, Минимальная роль — Manager — 9, Политика — Media Source Admin. Жмем «Сохранить»
Сразу после сохранения источник файлов «Manager» исчезнет для администратора. Для того чтобы можно было редактировать этот источник файлов, нужно зайти в меню «Безопасность — Контроль доступа». Открыть на редактирование группу менеджера: Manager и во вкладке «Источники файлов» найти и удалить источник Manager. Только тогда мы сможем вновь редактировать данный источник из под администратора.
33. На всякий случай очищаем кэш
и наш пользователь с ограниченными правами и доступами к файловой системе создан!
Не скажу, что это достаточно легко, но если делать это на автоматизме, то это не покажется чем то тяжелым. Надеюсь у вас все получилось! Удачи в проектах!
Настройка админской части MODX
После очередной жалобы клиента что MODX плохая система начал исследовать модули для админки и «о, чудо!» реально можно настроить админку ну о-о-очень круто! И более того она круто настраивается не только для криворуких (и не только) контенщиков, но и для разработчиков. Итак поехали:
- Ставим компонент VersionX, этот компонент не только закроет вопрос с нерадивым контенщиком который очистил область контента, потом сохранил, а потом очень удивился куда же исчез весь текст, но и спасет разработчика, который поковырял чанк, сниппет, шаблон а потом заказчик сказал что нужно вернуть все обратно, ну или просто «облажался» по полной программе и чикнул весь код.
- Ставим translit (и указывавем его в настройках системы как транслитезатор) и нет проблем с русскими ЧПУ.
- Ставим TinyMCE и прокачиваем его по-полной.
- Далее ставим 2 компонента SEO Pro и SEO Tab, тут заказчик сможет почуствовать себя «заряженным» СЕО специалистом, и система будет его «ругать» если будет лениться и не заполнять meta-description.
- Что бы процесс поиска и редактирования чанков и сниппетов не был таким утомительным ставим moddevtools, теперь в шаблоне можно редактировать чанк, а в чанке шаблон! И еще куча приятных полезностей, от которых кружится голова.
- AdminTools и его тема dark будут «вишенкой на торте» и админка расцветет и запахнет))
- Ставим collections если будут категории где много вложенных ресурсов (что бы админка меньше тупила)
- Ставим компонент Ace и код теперь светится как Рождественская елка…
Большую часть этого барахла можно практически не настраивать, начнет работать само, но sitemap должен вызываться:
[ [!StercSeoSiteMap]]
А для плагина Admin Tools нужно отключить «связь шаблонов и ресурсов» а то будет дико заходить в шаблон и видеть 2 вкладки с одинаковым названием «Ресурсы». Тему нужно выставить «dark» и карма сразу начнет ползти вверх.
А еще ВНИМАНИЕ! перед установкой компонента VersionX посмотрите что бы база не была в дикой кодировке типа latin-1 или чего-то подобного, а то разломанная система будет головной болью…
А вот скриншот прокаченной админки:
Комментарии (0)
Настройка прав доступа в MODX Revo
Автор Алексей На чтение 4 мин. Опубликовано
Последнее изменение поста: 23 октября 2018 в 21:02
В данном уроке мы по шагам настроим права доступа в MODX для контент менеджера сайта.
Шаг 1. Создание политики доступа для контент менеджеров.
Для того чтобы создать пользователя перейдите в «Настройки» (шестеренка в правом верхнем углу) > «Контроль доступа» и на открывшейся странице переходим во вкладку «Политики доступа«.
Далее копируем «Content Editor» (щелкаем пкм (правой кнопкой мыши) и выбираем копировать), редактируем (пкм — редактировать) новую политику и называем ее «Менеджер«, пролистываем страницу пониже и устанавливаем галочки на против следующих разрешений:
- directory_chmod — Изменять права доступа (chmod) к каталогам
- directory_create — Создавать каталоги в файловой системе
- directory_list — Получать список подкаталогов для каталога в файловой системе
- directory_update — Переименовывать каталоги в файловой системе
- file_create — Создавать файлы
- file_list — Смотреть список файлов в определенном каталоге
- file_manager — Использовать диспетчер файлов
- file_remove — Удалять файлы
- file_tree — Видеть дерево файлов в левой навигационной панели
- file_update — Изменять файлы
- file_upload — Загружать файлы в папку
- file_view — Просматривать содержимое файла
- packages — Использовать пакеты в системе управления пакетами
- search — Использовать страницу «Поиск»
После этого сохраняете новую политику доступа.
Шаг 2 — Создание группы пользователей для контент менеджеров и устанавливаем для нее права
Теперь снова идем в «Настройки» > «Контроль доступа«, переходим во вкладку: «Группы пользователей & Пользователи» и создаем новую группу пользователей с именем «Контент менеджеры«. Устанавливаем в окне новой группы пользователей контексты — web, mgr; политика бэкэнда — Менеджер и сохраняем.
Теперь отредактируем данную группу. Для этого нажимаем пкм на «Контент менеджеры» выбираем «Редактировать«. После этого переходим на вкладку: «Права доступа» и на вкладке «Доступ к контекстам» редактируем по очереди mgr и за тем точно так же web
mgr, web > редактировать, устанавливаем «Политика доступа» как «Менеджер» + Сохранить
Шаг 3 — Создане нового пользователя и назначение ему прав
Переходим в «Управление» > «Пользователи» и создаем нового пользователя .
В открывшейся странице на вкладке «Общая информация» указываем имя — manager, указываем E-mail менеджера, ставим галки на против — «Активный » и «Я укажу пароль сам» и задаем пароль.
Переходим на вкладку «Права доступа» > «Добавить пользователя в группу» >»Контент Менеджеры«, Роль: «Super User» > Сохранить
Ну и потом еще раз «Сохранить» (сверху), чтобы сохранить пользователя.
После этого переходим в меню «Управление» > «Перезагрузить права доступа»
Шаг 4 — Добавление нового источника файлов
Переходим в «Медиа» > «Источники файлов» и копируем источник «Filesystem»
Отредактируем скопированный источник
Название: «images»; basePath и baseUrl: «assets/images/» и сохраняем его.
Переходим в меню: «Настройки» > «Контроль доступа» далее жмем правой кнопкой мыши по группе «Контент менеджеры» и выбираем редактировать. Переходим на вкладку: «Права доступа» > «Доступ к источнику файлов» и добавляем новый источник файлов: Источник: images, Минимальная роль: Member — 9999, Политика доступа: Media Source Admin и Сохранить;
Меню: «Управление» > «Очистить кэш»; Меню: «Управление» > «Перезагрузить права доступа»
Шаг 5 — Удаляем источник «Filesystem» для manager
Возращаемся в «Медиа» > «Источники файлов»
Filesystem > Редактировать. Далее переходим на вкладку: «Права доступа», нажимаем «Добавить группу пользователей», выбираем группу пользователей: «Administrator», Минимальная роль: «Super User — 0», Политика: «Media Source Admin» + Сохранить
И потом еще раз сохранить сверху в правом углу.
Теперь точно также изменим права доступа к источнику файлов «images».
Шаг 6 — Управление группами ресурсов
Переходим в меню: «Содержимое» > «Группы ресурсов»
Создать группу ресурсов
Имя: «Администратор», Контексты: «web,mgr»
Установить галку «Автоматически дать доступ группе Administrator» и сохранить.
Добавить элементы в новую группу «Администратор», которые мы хотим скрыть от менеджера (просто перетаскиваете их мышкой) и сохраняем.
Не скрывайте sitemap и robots во избежание проблем с поисковиками (ну по крайней мере у меня яша и гоша ругались что нет доступа к этим файлам, после их скрытия от менеджеров. Может глюк или баг. В любом случае я вас предупредил, а там решайте сами скрывать их или нет).
Ну и завершающий штрих: Меню: «Управление» > «Очистить кэш»; Меню: «Управление» > «Перезагрузить права доступа». Все 🙂
Да еще бывают глюки у менеджеров с tv полями картинок, так что лучше используйте не стандартное tv изображение, а дополнение mixedImage (можно установить из репозитория modstore).
AdminTools | Зона MODX — информация о системе MODX Revolution и не только.
Набор инструментов для администраторов и пользователей админки. Все описанные возможности управляются системными настройками.
Избранные элементы
У каждого типа элементов в тулбаре появилась звездочка, которая включает и отключает режим избранных элементов. В контекстное меню каждого элемента добавлены пункты «Добавить в избранное» и «Удалить из избранного». За внешний вид избранных элементов отвечает css класс «x-element-favorite». Чтобы изменить иконку, укажите класс иконки в системной настройке admintools_favorites_icon
. Например, «icon-star» или «icon-heart». Названия иконом можно узнать на странице Font Awesome, только вместо «fa» нужно писать «icon».
Текущие состояния фильтров и элементов хранятся в поле Extended пользователя. Т.е. у каждого пользователя будут свои избранные элементы, посмотреть которые можно зайдя в настройки пользователя.
Журнал элементов
Журнал измененных элементов зачитывается из системной таблицы modx_manager_log
.
Тут достаточно всё просто. Таблицу можно отфильтровать по пользователю, дате и названию элемента. Кликнув на элемент можно перейти в диалог для его редактирования.
Последнее состояние системных настроек
Эта возможность позволяет запоминать последнее состояние интерфейса системных настроек. Все знают, что системные настройки всегда открываются для ядра («core»). Теперь, если данная фича включена, то системные настройки откроются для того же пространства имён (namespace) и подраздела (area), которые были выбраны в прошлый раз. Эти настройки также индивидуальны для каждого пользователя.
Отключение проверки прав для пользователей при формировании дерева элементов
Это очень полезная настройка, которая позволяет сократить время загрузки дерева и уменьшить потребляемую память, так как элементы грузятся не в объекты, а в массив. Тут конечно все зависит от количества открытых разделов и папок в них. Чем больше их открыто, тем ощутимее разница. Разработчикам, которым не нужны права на элементы, такая оптимизация будет не лишней. Для пользователей с sudo правами проверки нет.
По-умолчанию, проверка включена.
Очистка кэша ресурса
Эта настройка отвечает за очистку кэша только сохраняемого ресурса, а не всего сайта. Идея взята у Василия, но логика немного другая. Я постарался сохранить изначальное назначение чекбокса «Очистить кэш». Если он не отмечен, то работает как и положено — ничего не очищается. Если он установлен и настройка admintools_clear_only resource_cache
включена, то удаляется кэш только текущего ресурса. Если настройка выключена, то удаляется весь кэш. По-умолчанию она выключена.
При включении этой настройки важно понимать, что изменения конкретной страницы не отразятся на других кэшированных(!) страницах, где изменённая страница вызывается. Это может быть страница новостей или блок похожих статей. Хотя, как правило, такие страницы используют некэшированный вызов сниппетов. Именно поэтому MODX изначально удаляет кэш всех страниц.
Создание кэша ресурса
Данная настройка работает вместе с предыдущей. Если отметить чекбокс «Создать кэш», то при сохранении ресурса кэш страницы будет создан заново. В противном случае он будет создан при первом просмотре страницы на сайте.
Добавил возможность убирать описание компонентов в меню «Приложения», чтобы немного уменьшить его. Есть, конечно, системная настройка topmenu_show_descriptions
. Но она отключает описание у всех пунктов меню. Не знаю как другим, а мне нравится меню с описанием — функционально и эстетично. Поэтому не хочется убирать описание у всех. По-умолчанию включена.
Аутентицикация в админку через email
В новой версии можно залогиниться в админке просто указав имя пользователя или email. На почту придет ссылка, кликнув на которую в течение определённого времени произойдет аутентификация в админке.
Настройка
Для начала нужно её включить в системных настройках, по-умолчанию она выключена. Там же нужно указать id страницы, на которой будет размещаться форма. Удобнее всего создать новую страницу с пустым шаблоном, на которой вызывать сниппет adminLogin, отвечающий за авторизацию.
<!DOCTYPE html> <html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=[[++modx_charset]]" /> <meta name="robots" content="noindex" /> <base href="[[++site_url]]" /> <title>[[*pagetitle]]</title> </head> <body> [[!adminLogin]] </body> </html>
Так получается максимально похоже на админку. Сама форма находится в чанке tpl.login.form.
Как это работает
Для аутентификации нужно ввести логин или email. На указанный или найденный по логину email будет выслана ссылка. Она будет активна согласно системной настройке authorization_ttl
. По-умолчанию, 10 минут. По истечению этого времени она деактивируется. Также как и при аутентификации через неё. Второй раз зайти по ней не получится. Аутентификация доступна только для тех пользователей, которым разрешен доступ в админку.
Важно! Аутентификация происходит через стандартный login-процессор, поэтому все события отрабатывают как положено.
Пользовательские заметки
Пользовательские заметки — это такой маленький эвернотик. В него можно сохранять какие-то наработки, шаблоны и черновики. Особенно должно быть удобно для командной работы. Для личного использования пригодятся приватные заметки, которые может видеть только пользователь их создавший. Заметки можно импортировать и экспортировать, что позволяет переносить базу знаний и различных заготовок с сайта на сайт.
Как это работает
В меню пользователя добавлен пункт «Заметки». При нажатии на него открывается отдельное окно с заметками. Чтобы добавить заметку, нужно нажать кнопку + на панели инструментов и в открывшемся диалоге заполнить нужные поля.
Изменить заметку можно как вызвав диалог редактирования (двойной клик, кнопка в строке или контекстное меню), так и прямо в нижней части списка заметок. Кликнув по заметке в списке, в нижней части окна появляется её текст. При изменении текста внизу окна появляются 2 кнопки — Сохранить и Отменить. Нижную часть окна можно увеличить или уменьшить с помощью стандартного разделителя — кликаете на его и тянете вверх или низ.
Чтобы проще было искать заметки, добавлен поиск с возможностью выбора места — в наименованиях заметки, в содержании, в тегах или везде сразу.
Связь ресурсов и шаблонов
Если включить эту настройку, то у шаблонов появится вкладка с зависимыми ресурсами, использующими текущий шаблон. А у ресурса — ссылка на текущий шаблон. Помогает при разработке.
Основная задача данной функции — исключить пропадание меню при малейшем отклонении мыши. Если настройка меню включена, то меню открывается и закрывается с небольшой задержкой.
Права доступа к ресурсам на сайте
Этот альтернативный механизм прав доступа упрощает настройку доступа пользователей к страницам сайта. Права указываются для каждой страницы. Подробнее можно почитать тут.
Таблица плагинов
Эта таблица представляет собой плоский список плагинов системы, для которых определены события. Она позволяет увидеть какие плагины для каких событий сработают и в каком порядке.
В этом интерфейсе доступны следующие операции:
- Создание плагина.
- Отключение плагина.
- Удаление плагина.
- Привязка к новому событию.
- Отвязка от текущего события.
- Изменение вида списка — группировка по плагинам или по событиям.
- Фильтр списка по плагинам или событиям.
Более подробнее можно почитать тут.
Цветовые темы
Цветовые темы помогут немного разнообразить админку. В базовую версию входят 2 цветовые темы — «dark» и «purple». Укажите желаемую тему в системной настройке admintools_theme
.
Темы также можно создавать самостоятельно. Для этого скопируйте файл purple.css, находящийся в папке assets/components/admintools/css/mgr/themes и измените цвета по желанию.
Правила именования следующие — в системной настройке admintools_theme указываете название темы, которое будет соответствовать названию файла, а в файле стилей имя класса темы должно состоять из названия темы и суффикса «-theme». Вот пример для темы dark:
.dark-theme #modx-navbar { background-color: #272e3c !important; background-image: none; box-shadow: none; } ...
Поля ресурса с изменяемой высотой
Форма ресурса содержит 3 поля textarea — описание, аннотация и содержимое. Последнее достаточно большое. Плюс обычно к нему подключают редактор. А вот первые два для больших текстов не очень подходят. Для решения этой проблемы AdminTools добавляет к ним CSS стиль для вертикального изменения размера.
Эта возможность подойдёт для тех, кто привык работать с правым сайдбаром. Укажите значение right
в системной настройке modx_tree_position
. Для левого положения укажите left
или оставьте настройку пустой.
В некоторых компонентах эта возможность не работает.
Пользовательские файлы стилей и скриптов
Возможность подключения собственных css и js файлов в интерфейсе менеджера обеспечивают 2 системные настройки — admintools_custom_css
и admintools_custom_js
. Если файлов несколько, их нужно перечислить через запятую. Вот один из примеров использования.
Запрет действий с пакетами
Чтобы запретить действия над пакетами в системной настройке admintools_package_actions
укажите соответствующие права в формате:
{package1:{action1:false, action2:"Сообщение для action2.", message:"Сообщение по-умолчанию."}, package2:{...}}
Имя пакета регистрозависимо. Доступные действия:
- install — установка
- reinstall — переустановка
- uninstall — деинсталляция
- update — обновление
- remove — удаление
- checkupdate проверить обновление
- details — посмотреть детали
- all — «Все действия»
- message — сообщение
Чтобы запретить действие, можно указать для него или false
или сообщение. В первом случае сообщение будет искаться в ключе message
. Этот ключ пригодится, если нужно вывести одно сообщение для всех действий. Таким образом, для каждого действия можно указать своё сообщение или для всех одно общее или вперемешку — для некоторых определить, для остальных общее.
# Запретить удаление пакета {Ace:{remove:"Удаление запрещено!"}} # Запретить удаление и деинсталяцию пакета {Ace:{uninstall:false, remove:false, message:"Действие запрещено!"}} # Запретить установку определённого пакета {Ace:{install:"Данный пакет устанавливать запрещено по причине несовместимости!"}} # Запретить все действия для пакета. {Ace:{all:"Все действия с этим пакетом запрещены!"}} # Разрешить только некоторые действия для пакета. {Ace:{details:true, all:"Это действие запрещено!"}}
Подгрузка пользователя только текущего контекста
В базовой версии MODX в случае, когда пользователь залогинен в админке (контекст «mgr»), а на сайте находится как гость, MODX загружает в $modx->user
пользователя из админки. Хотя вы можете ожидать анонима. Чтобы отключить это поведение, включите системную настройку admintools_only_current_context_user
.
Блокировка админ панели
Позволяет блокировать админку без разлогинивания. Возможны 2 режима работы — автоматическая блокировка при отсутвии активности и ручная. Первая включается в системной настройке admintools_lock_timeout
. В ней нужно указать количество минут бездействия для автоблокировки. А самостоятельно заблокировать админку можно в верхнем меню пользователя выбрав пункт «Заблокировать».
Разблокировать админку можно указав пароль пользователя или код, указанный в системной настройке admintools_unlock_code
.
Индикатор новых сообщений
Отображает в верхнем меню количество непрочитанных сообщений. Проверка сообщений происходит только при открытии страницы. Т.е. чтобы увидеть новые сообщения, нужно обновить страницу.
Системные параметры
Ключ | По-умолчанию | Описание |
---|---|---|
admintools_animate_menu | true | Включает анимацию главного меню. |
admintools_enable_favorite_elements | true | Включает функционал избранных элементов. |
admintools_favorites_icon | Иконка избранного элемента, которая заменит стандартную иконку, например, «icon-star». | |
admintools_enable_elements_log | Добавляет кнопку на панель инструментов дерева элементов, которая открывает окно с логом измененных элементов. | |
admintools_remember_system_settings | true | Восстанавливает последние фильтры системных настроек. |
admintools_check_elements_permissions | true | Отключает проверку прав на элементы при загрузке дерева. Это ускоряет построение дерева элементов. Укажите «false», чтобы отключить проверку. |
admintools_clear_only resource_cache | false | Если включено, то при сохранении ресурса удаляется только его кэш, а не кэш всего сайта. |
admintools_hide_component_description | true | Скрывает описание компонентов в меню «Приложения». |
admintools_email_authorization | false | Включает механизм аутентификации через email. Должен быть определен ID ресурса с формой. (loginform_resource). |
admintools_authorization_ttl | 600 | Время в секундах, в течение которого можно аутентифицироваться по высланной ссылке. |
admintools_loginform_resource | ID ресурса, который используется для входа в менеджер сайта. | |
admintools_enable_notes | true | Включает функционал заметок пользователя. |
admintools_template_resource_relationship | true | Добавляет шаблону вкладку с зависимыми ресурсами, а ресурсу ссылку на шаблон. |
admintools_alternative_permissions | true | Включает механизм альтернативных прав доступа для ресурсов. |
admintools_plugins_events | true | Добавляет кнопку на панель инструментов плагинов дерева элементов, которая вызывает окно со списком событий. |
admintools_theme | default | Цветовые темы админки. Доступные значения: default, dark и purple. Если оставить пустой, то применится тема default (стандартная тема MODX). |
admintools_modx_tree_position | left | Положение сайдбара с деревом. Доступные значения: left, right. |
admintools_custom_css | Список файлов стилей, которые нужно подключить в интерфейсе менеджера. | |
admintools_custom_js | Список файлов скриптов для подключения в интерфейсе менеджера | |
admintools_package_actions | Позволяет запретить определённые действия с пакетами. Формат: {package:{action1:’Сообщение’, action2:false, message:’Сообщение по-умолчанию’}} | |
admintools_only_current_context_user | false | Отключает установку пользователя, залогиненного в админке, для незалогиненного пользователя на сайте. |
admintools_lock_timeout | 0 | Количество минут, через которое произойдёт блокировка админ панели при отсутствии активности. 0 отключает автоблокировку. |
admintools_unlock_code | Код быстрой разблокировки админ панели. Оставьте пустым, чтобы разблокировать по паролю. | |
admintools_show_lockmenu | Показывать меню блокировки в меню пользователя. |
Ссылки
Проект на Github.
Статьи про AdminTools.
19 компонентов для админки MODx Revo, которые упростят жизнь
Многие разработчики и администраторы сайтов сталкиваются повседневно с проблемами, которые повторяются день за днем. В данной статье мы рассмотрим компоненты, которые повысят удобство использования панели администратора в MODx Revo. Наверняка, некоторые из них будут вам знакомы, и все же надеемся, что новой информации будет больше.1. Collections – отличный компонент для преобразования ресурсов в удобный вид, коллекции или более просто — таблицы. Подойдет он тем, у кого дерево ресурсов выросло до неимоверных объемов, что является причиной тормозов в админке. Ведь, если ресурс является коллекцией, то его дочерние ресурсы не отображаются. Кроме того, данная штука имеет гибкую настройку, что позволяет удовлетворить потребности практически любого пользователя. Скачать Collections для MODx Revo можно из официального репозитория MODx. Вот как коллекции выглядят у нас:
2. dbAdmin – компонент, который дает возможность просматривать листинг таблиц базы данных в панели администратора MODx Revo. Позволяет также производить экспорт как отдельной таблицы, так и всей базы в целом. Кроме всего прочего, умеет удалять и очищать таблицы (так что будьте аккуратны при его использовании) и производить разного рода SQL-запросы. Скачать dbAdmin для MODx Revo можно в репозитории modstore.pro.
3. modDevTools – компонент, добавляющий дополнительную вкладку у элементов в панели администратора MODx Revo. На данной вкладке перечисляются все используемые в отдельном элементе чанки, сниппеты, которые можно редактировать прямо здесь же, а не искать их по всей админке. Скачать modDevTools для MODx Revo можно в репозитории modstore.pro.
4. debugParser – это компонент, который позволит вам найти узкие места на вашем сайте. Добавив некоторые параметры к URL странице на фронтенде, вы увидите листинг, приводящий скорость загрузки каждого сниппета. Скачать debugParser для MODx Revo вы можете в репозитории modstore.pro.
5. autoRedirector – отличный плагин, который, если сменился alias у ресурса, прописывает 301 редирект со старой версии ресурса на новую. Скачать autoRedirector для MODx Revo вы можете в репозитории modstore.pro.
6. tagElementPlugin – плагин, который позволяет редактировать чанк или сниппет по выделению его тега и нажатию сочетаний клавиш ctrl+enter. Очень удобная штука, только с одним минусом – работает только в редакторе ACE.
7. modMySettings – данный пакет стоит ставить только на свежей установке MODx, так как она позволяет выбрать нужные компоненты и скачать их, выставить необходимые настройки и создать необходимые ресурсы. Если вы еще и обладаете навыками разработчика, то вы можете переписать его под себя, что заметно ускорит разработку ваших сайтов. Скачать modMySettings для MODx Revo вы можете в репозитории modstore.pro.
8. controlErrorLog – плагин, который сообщает вам о наличии записей в журнале ошибок MODx, добавляя иконку на панели верхнего меню. Скачать controlErrorLog для MODx Revo вы можете в репозитории modstore.pro.
9. frontendManager – на данный момент один из наших самых любимых компонентов. Он позволяет редактировать ресурсы прямо с фронтенда, что ускоряет разработку и администрирование во много раз. Отображается верхней панелью на фронтенде. Скачать frontendManager для MODx Revo вы можете в репозитории modstore.pro.
10. console – компонент, который позволяет выполнять PHP код прямо в панели управления MODx, что позволяет производить необходимые манипуляции с большим количеством элементов или ресурсов. Скачать console для MODx Revo вы можете в официальном репозитории MODx.
11. clientConfig – компонент, позволяющий прописывать какие-то общие настройки для сайта, типа контактных данных, ссылок на соц. сети, баннерные блоки и т.д. Скачать clientConfig для MODx Revo вы можете в официальном репозитории MODx.
12. upgradeMODX – компонент для быстрого обновления MODx до последней версии от Боба Рея (думаю, слышали кто написал “MODX. The official guide.”). Работает очень просто: на главной странице админки появляется виджет, который отслеживает выход последней версии MODx Revo. Скачать upgradeMODX для MODx Revo вы можете в официальном репозитории MODx.
13. backupMODx – компонент, позволяющий снимать бекап с работающего сайта. Сейчас для этого не нужен специалист техподдержки или программист. Достаточно просто нажать одну клавишу в панели администратора и скачать архив. Скачать backupMODx для MODx Revo вы можете в официальном репозитории MODx.
14. logPageNotFound – реализует лог 404 ошибок в панели администратора. Очень полезный компонент для отслеживания битых ссылок. Лог реализуется в виде ресурса, снятого с публикации (Боб Рей почему-то не любит возиться с CMP). Скачать logPageNotFound для MODx Revo вы можете в официальном репозитории MODx.
15. cacheClear – компонент, который позволит вам удалить все из папки /core/cache/ одним кликом и будет полезен тем, кто не имеет доступа к FTP или панели хостинга. Также реализуется ресурсом, так как его написал уже знакомы нам Боб Рей, виден его фирменный почерк. Скачать cacheClear для MODx Revo вы можете в официальном репозитории MODx.
16. filetranslit – кто переносил довольно крупные сайты с одного хостинга на другой, тот поймет в чем прелесть данного дополнения. Помните, как архиватор Linux коверкает наименование файлов, названных кириллицей? Так вот, данный плагин транслитерирует название файла из кириллицы в латиницу. Скачать filetranslit для MODx Revo вы можете в официальном репозитории MODx.
17. Translit – по названию вы наверняка поняли, что функция у данного плагина подобная функции filetranslit, только транслитерирует он alias ресурсов. Скачать translit для MODx Revo вы можете в официальном репозитории MODx.
18. elementNotes – компонент, позволяющий добавлять заметки к элементам в панели администратора MODx Revo. Скачать elementNotes для MODx Revo вы можете в репозитории modstore.pro.
19. VersionX – компонент, позволяющий реализовать своего рода маленькую систему контроля версий прямо в панели администратора MODx Revo. Данный компонент хранит все версии изменений элемента или ресурса, что позволит вам в любой момент откатиться на более раннюю версию. Скачать VersionX для MODx Revo вы можете в официальном репозитории MODx.
Вот такие дополнения мы используем в своей работе. Согласитесь, многие из них значительно облегчают жизнь пользователю и программисту. Думаем, что список был для вас полезен. Если вы знаете еще подобные дополнения, то пишите в комментариях, мы обязательно добавим их в статью!
Источник: dart.agency/blog/modx/19-komponentov-dlya-adminki-modx-revo-kotoryie-uprostyat-zhizn.html
MODX Revo не входит в админку
MODX RevoАвтор Алексей На чтение 1 мин. Опубликовано
Последнее изменение поста: 22 октября 2018 в 20:46
Сегодня речь пойдет об одной из довольно часто встречающихся проблем — modx revo не входит в админку, и причин этому может быть несколько: забыли пароль, проблемы с хостингом, либо вы превысили число попыток входа и MODX вас заблокировал. Первые 2 проблемы за частую можно решить при помощи функции восстановления пароля, но бывает такое что MODX не отправляет сообщение для сброса пароля на почту, указанную во время регистрации пользователя, тогда можно поступить следующими образами.
Сброс пароля в MODX, через базу данных (БД) сайта
Заходим в phpmyadmin, открываем БД сайта и находим в ней таблицу modx_users.
Далее нажать на карандашик (изменить), и в открывшейся табличке, при необходимости изменить логин (username) и пароль (password), предварительно выбрав шифрование MD5.
Разблокировка админки MODX Revo
Если вход в админку MODX заблокирован (например из-за того что вы при входе в админку, часто вводили не верный пароль), тогда так же идем в phpmyadmin, открываем БД сайта и находим в ней таблицу modx_user_attributes и ставим значение bloked равное 0.
Если и это не помогает, то пишите в комментариях, также можете задать вопросы на специализированных форумах и сообществах.