Сначала мне было довольно трудно понять систему назначения прав в Revo. На взгляд начинающего она трудна и не логична. Однако на самом же деле она исключительно комфортна. И в случае если располагать на руках хорошей инструкцией по настройке прав, то все будет прозрачным. Полагаю, организация учетной записи контент-менеджера, считается наиболее первоочередной и важной задачей. Вследствие этого обрисую процесс формирования такой, а равным образом все ошибки, с коими мне довелось соприкоснуться во время настройке.
Далее в статье имеется ссылка на источник, коим я воспользовался при настройке прав, кроме официальной документации ModxRevo. Рекомендую изучить это до чтения моей статьи, т.к. она считается скорее предписанием, и нужно осознать главную суть системы пред её применением.Начинаем! Входим в меню "Безопасность--Контроль доступа":
Далее вкладка "Политика доступа":
Создаем новую политику для менеджера:
Имя политики: Manager, шаблон: AdministratorTemplate.
Сохраняем созданную политику. Она обязана появиться в списке политик ниже:
Редактируем её:
На страничке редактирования выводится перечень всех параметров. Для избранного шаблона AdministratorTemplate у нас отмечены все параметры. Нам нужно убрать излишние параметры, ограничив менеджера в правах.
В этом случае я пошел по обычному пути, убрав из админки все пункты меню и подменю, по коим менеджеру ходить нет необходимости. При данном сам доступ к редактированию системных опций я прикрывать не стал. Сомнительно, что менеджер станет подбирать ссылки на скрытые странички системных опций, чтобы что-то там изменить. Основное, чтобы случаем не нажал туда, куда ему жать не нужно, а от данного мы его избавим. Однако вы можете в свою очередь отключить доступ к тому, что считаете нужным.
Убираем доступ к страничкам и действиям, сопряженным с правами доступа, убрав галочку рядом с параметром access_permissions:
Точно так же проделываем с другими параметрами:
dashboards Возможность просмотра и управления панелями.
element_tree Просмотр дерева элементов в левой панели.
menu_reports Показ в верхнем меню пункт «Отчёты».menu_security Показ в верхнем меню пункт «Безопасность».
menu_system Показ в верхнем меню пункт «Система».
menu_tools Показ в верхнем меню пункт «Инструменты».
new_static_resource Создание новых статичных ресурсов.
remove_locks Удаление всех блокировок на сайте.Дальше не забываем сохранить изменения.
Сейчас переходим на вкладку "Роли":
Создаем новую роль для менеджера:
Ранг задается любой от 0 до 9999 не включая. Так как 0 применяется для роли администратора, а 9999 для роли типичного посетителя. Имя роли задаем: Manager. Хочется заметить, что дальше буду для всех объектов задавать имя Manager, для собственного комфорта, однако имя может быть любым. Сберегаем изменения и переходим на вкладку "Группы пользователей":
Создаем новую группу для менеджера:
Имя группы: Manager.
Сохраняем группу, потом отыскиваем её в списке и выбираем для редактирования:
На вкладке где представлена общая информации видно, что эта группа располагает в качестве родительской группу администратора, так как мы организовали её внутри этой группы. Однако это применяется скорее для комфорта восприятия, вследствие этого, в случае если вынести её из родителя, ничего не изменится.
Переходим на вкладку "Доступ к контекстам":
Прибавим свежий контекст:
Контекст mgr определяет права для работы с админкой. В этом случае мы задаем необходимую малую роль для него: Manager - 9 и политику доступа Manager, организованную прежде, которая и определяет перечень прав менеджера.
Сохраняем созданный контекст. И прибавим ещё один:
Контекст web определяет права доступа к ресурсам (страничкам). К ним относится редактирование, и создание, и сохранение изменений, а так же удаление и другое. Малая роль - Manager - 9, а политика доступа - Administrator (так как любые действия с ресурсами допустимы).
Далее нужно сохранить контекст и все изменения на страничке группы ресурсов.
Далее переходим в меню "Безопасность--Управление пользователями":
Создаём новго пользователя, задаем ему имя Manager. Это имя будет применяться для входа в админку. Выделяем пользователя как активного. В свою очередь внизу на вкладке где представлена общая информация можно задать средство организации пароля к учетной записи.
Пред тем как сохранять учетную запись заходим на вкладку "Права доступа" и добавляем нашего пользователя в прежде организованную группу менеджера: Manager, определив ему роль менеджера: Manager:
Судя по всему все. Можно выйти из под учетной записи админа и зайти в админ. панель как менеджер. Однако имеется еще момент!
В этом случае менеджер располагает доступом к файловой системе, а конкретно - ко всем файлам этого сайта на сервере. Для того чтобы локализировать доступ к ним, нужно сформировать новый источник файлов только для менеджера.
Для данного нужно зайти в меню "Инструменты--Источники файлов":
Вначале в перечне источников лишь главный источник: Filesystem. Сначала нужно ограничит доступ к нему. Открываем страничку редактирования источника Filesystem. Дальше на вкладке "Права доступа" прибавим группу пользователей, которой желаем дать доступ:
Определим группе: Administrator, наименьшею роль: SuperUser - 0 и политику: MediaSourceAdmin.
Незамедлительно после сохранения абсолютно у всех пользователей, не имеющих отношение к указанной группе и роли, исчезнет доступ в источнику файлов Filesystem. Одновременно, данные пользователи не увидят этого источника в перечне на страничке инструментов!
Впоследствии возвратимся к перечню источников и организуем новейший источник для менеджера - PicturesManager. Предположим в данном источнике будут сохраняться иллюстрации к статьям:
Сохраним сделанный источник. Сейчас отыщем его в перечне и отредактируем его параметры.
На вкладке общих данных внизу имеется перечень параметров. Нас интересуют в данный момент первые 4. Другие параметры назначены по умолчанию исключительно хорошо, в частности для применения источника как хранилища изображений.
Нужно установить главный путь (basePath) к источнику и главный путь для ссылок на файлы источника (baseUrl). При данном пути должны задаваться с учетом параметров basePathRelativeи baseUrlRelative, коие в значении "Да" несут ответственность за вставку в начало пути - пути к папке веб-сайта на сервере. Тоесть окончательный путь складывается из 2-ух частей:
/var/www/site_name/ иmanager/template/tpl_name/pictures/
Первоначальная часть прописывается в "Опциях системы" ModxRevo. Однако её касаться не нужно, традиционно по умолчанию она стоит верная. Здесь вам необходимо сменить tpl_name на заголовок вашего шаблона для веб-сайта и сделать папку pictures.
В итоге, параметры baseUrlи basePath устанавливаются в значение:
manager/template/tpl_name/pictures/
Параметры basePathRelative и baseUrlRelativeв значение: "Да".
Пред установкой прав доступа для менеджера к источнику, нужно обратить внимание на том, что в последствии задания прав, источник не будет доступным для учетной записи админа, в том числе и для редактирования.Одно средство поправить данное - зайти в меню "Безопасность - Контроль доступа". Открываем для редактирование группу менеджера: Managerи во вкладке "Источники файлов" отыскать и удалить источник PictureManager. Лишь тогда мы сможем снова редактировать этот источник из под админа.
Однако самое основное не это, а то, что в случае если на какой-нибудь страничке применяется tv параметр с типом ввода "Изображение", тоесть tv, который конкретно обращается к какому-то источнику файлов, то для него нужно задать источник файлов PictureManager прежде, чем устанавливать права менеджера на него, иначе затем мы данное сделать не сможем.Заходим в свойства необходимого нам tv параметра на вкладку "Источники файлов" и определяем для контекста web наш источник файлов, 2 раза кликнув на "Кэшированный код ресурса", сохраняем изменения.
И лишь после сего можно задать права доступа для источника файлов PictureManager:
Задаем группу пользователей: Manager, наименьшую роль: Manager-девять и политику: MediaSourceAdmin. Немедленно после сохранения источник файлов пропадет для администратора (метод возврата оговаривался ранее), а tv параметры с определенным источником файлов PictureManager перестанут быть редактируемыми из под учетной записи админа. При этом проявляется при попытке админом сохранить страничку, которая применяет данный tv, в силу чего значение tv сбрасывается и картинка исчезает со странички.
Из тех промахов, что я поймал под час пользования.
Во время использовании сниппета Articles, под час вывода списка статей с изображениями, в случае если изображения предназначались как tv параметры из под учетной записи менеджера (с применением его источника файлов), то эти изображения прекращали выводиться, при этом лишь в списке статей и лишь для сниппета Articles(тоесть getResources в чистом виде отрабатывает отлично). Сущность задачи в том, что ошибочно создается путь к изображению. А поточнее, он не создается абсолютно. Выводиться лишь его имя. Делему решил прибавлением костыля в виде сниппета image_path:
<code>$base_path = $modx->getOption('base_path'); return $base_path.'manager/templates/tpl_name/pictures/'.$input;</code>
Этот сниппет обретает главный путь к папке интернет-сайта: $base_path, потом прибавляет его и равным образом путь к источнику PictureManager к наименованию изображения, которое заключается в переменной $input. Значение для $input берется из tv.articleimage при вызове сниппета image_path:<code></code>Будем надеяться у вас все будет функционировать и без этого. :)
Смотрите также:
Услуги по MODX Revolution
Посмотреть все услуги
Оптимизация сайта
Заказав услуги по технической оптимизации сайта мы избавим вас от ошибок присутствующих на сайте, а так же увеличим скорость работы вашего сайта.
Создание сайта на MODX
Мы создадим для вас такой сайт, который подойдет именно в вашем случае и станет отличным инструментом привлечения клиентов и увеличения продаж.
Перенос сайта на MODX
Работа по переносу сайта на MODX осуществляется в максимально короткие сроки. Стоимость зависит от сложности переносимого сайта
Продвижение сайта на MODX
Если вы хотите получить быстрые и ощутимые результаты, подняться в топ в минимальные сроки, то доверьте нам продвижение своего сайта.