Ru:ManagerManager 0.3.4

From MODx Wiki
Jump to: navigation, search

Contents

Руководство по ManagerManager 0.3.4

Введение

ManagerManager позволяет вам настраивать внешний вид страницы создания/редактирования ресурса в бэкэнде вашего сайта. Вы можете переименовывать, скрывать и перемещать основные и дополнительные параметры ресурса и вкладки. И делать это для конкретных ролей пользователей или шаблонов. Абсолютная власть!

Изменения

  • Имена дополнительных параметров(TV) можно писать с префиксом "tv" или без этого префикса.
  • Плагин использует библиотеку jQuery версии 1.3.2
  • jQuery работает в no-conflict

Благодарности

Автор Nick Crossland - www.rckt.co.uk

К созданию подтолкнули плагины Hide Editor (авторы: Timon Reinhard и Gildas) и Customize Manager Fields (автор: Brett @ The Man Can!)

Лицензия

GNU General Public License

Инсталяция

Совместимость

Эта версия(0.3.4) специально разработанна для MODx Evolution 1.0.0

Если у вас MODx вверсии 0.9.6.x, то эта версия(0.3.4) плагина не будет работать. Вам надо скачать предыдущую версию 0.3.2.1.

Новая инсталяция

  1. Скачайте ManagerManager 0.3.4
  2. Разархивируйте загруженный файл
  3. В бэкэнде MODx(Элементы->Управление элементами->Плагины->Создать плагин) создайте новый плагин с именем "ManagerManager" и вставьте в него код из plugin.txt
  4. Во вкладке "Системные события" отметьте события:
    • OnDocFormRender(обязательно, выводится основной JavaScript код сформированный плагином )
    • OnDocFormPrerender(обязательно, подгружается библиотека jQuery и выводится белый экран-маска скрывающий процесс перерисовки страницы плагином ManagerManager)
    • OnPluginFormRender(необходимо отметить если вы хотите чтобы ManagerManager выводил вкладку с информацией об используемых шаблонах, дополнительных параметрах и ролях пользователей на странице редактирования плагина "ManagerManager")
    • OnTVFormRender(необходимо отметить если вы хотите чтобы ManagerManager скрывал устаревшие типы дополнительных параметров на странице создания/редактирования дополнительных параметров)
  5. Во вкладке "Конфигурация" вставьте нижеприведённый код в поле "Конфигурация плагина:", и щёлкните "Обновить параметры":&config_chunk=Configuration Chunk;text;&remove_deprecated_tv_types_pref=Remove deprecated TV types;list;yes,no;yes&which_jquery=jQuery source;list;local (assets/js),remote (google code),manual url (specify below);remote (google code)&js_src_type=jQuery URL override;text;
  6. Скопируйте все файлы из архива в соответствующие папки на вашем сервере.
  7. Если вы хотите редактировать правила в бэкэнде вашего сайта, то создайте чанк (имя чанка надо вписать в поле "Configuration Chunk" во вкладке "Конфигурация" на странице редактирования плагина "ManagerManager").Если вы хотите редактировать правила через файл, то оставьте поле "Configuration Chunk" пустым и плагин будет обрабатывать правила из файла mm_rules.inc.php(путь к файлу modxsite/assets/plugins/managermanager/mm_rules.inc.php).

Примечание: Рекомендуется отключить плагин "Image TV Preview", и вместо него использовать виджет mm_widget_showimagetvs, для того чтобы подключить этот виджет добавьте нижеприведенную строчку в ваши правила:

mm_widget_showimagetvs();

Обновление

Для 0.3.x:

  1. Замените все файлы в папке /plugins/managermanager
  2. Замените код плагина на новый из plugin.txt.
  3. Некоторые вкладки и секции поменяли свои названия. Please see the changelog for details.
  4. Отметьте событие OnTVFormRender.

Конфигурация

Все параметры конфигурации плагина задаются во вкладке "Конфигурация" на странице редактирования плагина ManagerManager.

Configuration chunk

Имя чанка который содержит правила (если оставить поле пустым то плагин будет использовать правила из файла mm_rules.inc.php)

Remove deprecated TV types - Удалить устаревшие типы дополнительных параметров TV

Если выбранно "yes", устаревшие типы дополнительных параметров не будут показываться на странице создания/редактирования дополнительного параметра.

jQuery source - источник jQuery

ManagerManager использует JavaScript библиотеку jQuery (текущая версия 1.3.2) для изменения страницы создания/редактирования ресурса.Вы можете выбрать источник откуда будет загружаться библиотека jQuery:

  • local - использовать jQuery 1.3.2 который включен в дистрибутив MODx Evolution 1.0.0
  • remote - использовать jQuery 1.3.2 который хостит на своих серверах компания Google
  • manual url - jQuery будет загружаться с адреса указанного вами в параметре "jQuery URL override"

Как ManagerManager работает?

С помощью ManagerManager вы можете изменять внешний вид страницы редактирования ресурса.Вы можете менять заголовки параметров ресурса, добавлять новые вкладки, скрывать секции и многое другое.Также вы можете расширять возможности ManagerManager добавляя свои собственные виджеты. ManagerManager работает исполняя правила, которые применяются к определённым областям страницы редактирования ресурса. Каждое правило может быть применено к определенной роли, определенному шаблону или любой их комбинации.

Например, для переименования параметра "Заголовок ресурса" для всех шаблонов и всех пользователей, вы можете использовать:

mm_renameField('pagetitle', 'Новый текст заголовка');

Вы можете применять правило для пользователей с конкретной ролью, указав третий параметр, который является идентификатором одной или нескольких ролей пользователей.Идентификатор роли вы можете найти на вкладке "Роли".

Чтобы применить приведенное выше правило только к роли с идентификатором "1", вы должны написать:

mm_renameField('pagetitle', 'Новый текст заголовка', '1');

Вы можете добавить несколько ролей, через запятую:

mm_renameField('pagetitle', 'Новый текст заголовка', '1,3,5');

Если вы хотите сделать правило "для всех кроме",то вы должны поставить перед списком ролей восклицательный знак "!". Например, чтобы применить правило для всех, кроме администраторов(идентификатор роли администратора "1"), вы должны написать:

mm_renameField('pagetitle', 'Новый текст заголовка', '!1');

Примечание: исключение применяется ко всем ролям.

mm_renameField('pagetitle', 'Новый текст заголовка', '!2,3');

Добавит правило к пользователям не входящим в роли с идентификаторами 2 или 3.

Наконец, если вы оставите параметр с идентификаторами ролей пустым, или пропустить его, правило будет применяться ко всем ролям.

Можно уточнять правила, ограничивая их применение для шаблонов с определенным идентификатором. Например:

mm_renameField('pagetitle', 'Новый текст заголовка', '', '3');

Добавит правило только к ресурсам использующим шаблон с идентификатором "3".

mm_renameField('pagetitle', 'Новый текст заголовка', '!1', '3');

Добавит правило к пользователям которые не принадлежат к роли с идентификатором "1", когда они редактируют ресурс использующий шаблон с идентификатором "3".

Вы можете использовать переменные PHP. Например, для сохранения идентификаторов шаблона и роли.

  1. $news_role = '3';
  2. $news_tpl = '10';
  3. mm_createTab('SEO','seoTab', '', $news_tpl, '', '600');
  4. mm_renameField('longtitle','Заголовок статьи', $news_role, $news_tpl, 'Это заголовок статьи');

Вы можете применять правило к ресурсам с определённым идентификатором.

  1. // скроет поле ресурса, если идентификатор родителя этого ресурса "28".
  2. if($content['parent'] == 28){
  3. mm_hideFields('tvname','2');
  4. }

Названия основных параметров ресурса

Имя параметра в MM Заголовок параметра
pagetitle Заголовок ресурса
longtitle Расширенный заголовок
description Описание
alias Псевдоним
link_attributes Атрибуты ссылки
introtext Аннотация (введение)
template Шаблон
menutitle Пункт меню
menuindex Позиция в меню
show_in_menu Показывать в меню
parent Папка
is_folder Контейнер (содержит дочерние ресурсы)
is_richtext Использовать HTML-редактор
log Регистрировать посещения:
published Публиковать
pub_date Дата публикации
unpub_date Дата отмены публикации
searchable Доступен для поиска
cacheable Кэшируемый
clear_cache Очистить кэш?
content_type Тип содержимого
content_dispo Местонахождение содержимого
keywords Ключевые слова
metatags META-теги
content Содержимое ресурса
which_editor Редактор:

Названия вкладок

Имена вкладок в MM Имена вкладок
general Общие
settings Настройка страницы
meta Ключевые слова

Названия секций

Имена секций в MM Имена секций
content Содержимое ресурса
tvs Параметры (TV)
access Права доступа

Справочник по правилам

Параметры

Изменить заголовок параметра
 mm_renameField($field, $newlabel, $roles, $templates, $newhelp)

Может изменить заголовок основного или дополнительного параметра ресурса.

  • $fields*: Имя параметра заголовок которого надо изменить. Может принимать только одно имя параметра. Обязательно.
  • $newlabel*: Новый заголовок параметра. Обязательно.
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
  • $newhelp: Новый текст подсказки. The same restriction apply as when using mm_changeFieldHelp directly. [Необязателен,поведение по умолчанию - оставить текст помощи без изменений.]
mm_renameField('longtitle', 'Заголовок страницы'); 
 
// Изменяет для всех пользователей заголовок параметра longtitle на "Заголовок страницы"
mm_renameField('longtitle', 'Заголовок страницы', '', '3'); 
 
// Изменяет заголовок параметра longtitle на "Заголовок страницы" для ресурсов использующих шаблон с идентификатором "3"
Скрыть параметр
 mm_hideFields($fields, $roles, $templates)

Скрывает один или более параметров ресурса.

  • $fields*: имя параметра к которому должно быть применено правило. Может принимать несколько имён параметров, разделенных запятыми. Параметр обязателен.
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_hideFields('link_attributes'); 
 
// Скроет от всех пользователей параметр "Атрибуты ссылки"
mm_hideFields('alias', '1', '3'); 
 
// Скроет параметр alias("Псевдоним") для пользователей идентификатор роли которых "1", и которые редактируют ресурс использующий шаблон с идентификатором "3"
mm_hideFields('myVar', '2'); 
 
// Скроет дополнительный параметр "myVar" от пользователей идентификатор роли которых "2"
Изменить текст всплывающей подсказки
 mm_changeFieldHelp($field, $helptext, $roles, $templates)

Изменяет текст подсказки, которая появляется рядом с каждым параметром ресурса, когда курсор наводится на иконку помощи.

  • $field*: имя параметра к которому должно быть применено правило. Может принимать только одно имя параметра. Обязательно.
  • $helptext*: новый текст помощи, который будет появляться при наведении курсора на иконку помощи. Обязательно.
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_changeFieldHelp('pagetitle', 'Этот текст будет появляться в заголовке броузера'); 
 
// Изменит текст помощи для параметра pagetitle для всех пользователей
mm_changeFieldHelp('alias', 'Введите псевдоним ресурса', '1'); 
 
// Изменит текст помощи для параметра alias только для пользователей с идентификатором роли "1"
Скрыть шаблон
 mm_hideTemplates($tplIds, $roles, $templates)

Скрывает указанные шаблоны в выпадающем списке выбора шаблона.

  • $tplIds: Идентификаторы шаблонов которые должны быть скрыты в выпадающем списке выбора шаблона. Может принимать несколько идентификаторов, разделенных запятыми [Required]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_hideTemplates('0'); 
 
// Скроет шаблон с идентификатором "0" (blank) для всех пользователей
mm_hideTemplates('0,4', '1');
 
// Скроет шаблоны с идентификаторами "0" и "4" от пользователей с идентификатором роли "1"
Наследовать значение параметра из родительского ресурса
 mm_inherit($fields, $roles, $templates)

Говорит параметру наследовать значение из родительского ресурса (если значение заданно).

  • $fields: Имя параметра к которому надо применить это правило. Может принимать несколько имён параметров, разделенных запятыми. Обязательно.
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_inherit('pagetitle', '0,1'); 
 
// Наследует значение параметра pagetitle из родительского ресурса, когда пользователи с идентификаторами роли "0" или "1" редактируют ресурс
mm_inherit('pagetitle,longtitle'); 
 
// Наследует значения параметров pagetitle и longtitle из родительского ресурса
Значение параметра по умолчанию при создании нового ресурса
 mm_default($field, $value, $roles, $templates, $eval)

Устанавливает значения по умолчанию для указанного параметра при создании нового ресурса. Поддерживает:

    • pub_date - takes a PHP date object (Unix timestamp) to set the default publish date. If no value supplied, will be set to current date and time.
    • unpub_date - takes a PHP date object (Unix timestamp) to set the default unpublish date. If no value set, will be set to current date and time.
    • published - should "Опубликован" be checked? Takes boolean value. Note that if this conflicts with the pub/unpub dates, this may be overriden by Modx when the page is saved
    • hide_menu - should "Показывать в меню" be unchecked? Принимает булево значение.
    • show_in_menu - should "Показывать в меню" be checked? Принимает булево значение (opposite of hide_menu)
    • searchable - устанавливает значение по умолчанию для параметра "Доступен для поиска"? Принимает булево значение.
    • cacheable - should "Кэшируемый" be checked? Принимает булево значение.
    • clear_cache - should "Очистить кэш" be checked? Принимает булево значение.
    • is_folder - should "Контейнер" be checked? Принимает булево значение.
    • is_richtext - should "rich text" be checked? If set to false, the page will automatically also set the "which_editor" field to none, and reload the page so this takes effect. Принимает булево значение.
    • log - should "log" be checked? Принимает булево значение.
  • $field: The name(s) of the field this should apply to (from table above). Currently accepts 'pub_date' or 'unpub_date' [Required]
  • $value: The default value for the field specified. If none is supplied the current date/time will be used. A static value can be supplied as a string, or PHP code (to calculate alternative dates) can be supplied if the eval parameter is set to true [Optional]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
  • $eval: Should the value be evaluated as PHP code? Boolean [Optional - default is false]


mm_default('pub_date'); 
 
// Всегда устанавливает "Дата публикации" для нового ресурса Always set the publish date on new documents to the current date and time
mm_default('unpub_date', 'return date("d-m-Y H:i:s", now()+(60*60*24*28);', '', '4', true); 
//Automatically set the unpublish date to be four weeks in the future for documents with a template ID of "4"
Синхронизировать несколько параметров
 mm_synch_fields($fields, $roles, $templates)

Синхронизирует значения параметров во время редактирования - например чтобы значение pagetitle и menutitle были одинаковыми, если одно значение скрыто. Работает только с текстовыми параметрами.

  • $fields: Имена параметров которые должны быть синхронизированны. Требует как минимум двух имён параметров, введеных через запятую [Required]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_synch_fields('pagetitle,menutitle,longtitle'); 
 
// Делает содержимое этих трёх параметров одинаковым

Вкладки

Переименовать вкладку
 mm_renameTab($tab, $newlabel, $roles, $templates)

Переименовывает вкладки.

  • $tab: Имя вкладки к которой надо применить это правило. Может принимать только одно имя [Required]
  • $newlabel: Новое название вкладки[Required]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_renameTab('meta', 'Выбор ключевых слов', '2'); 
 
// Переименует вкладку "Ключевые слова" в "Выбор ключевых слов" для пользователей с идентификатором роли "2"
Скрыть вкладку
 mm_hideTabs($tabs, $roles, $templates)

Hides one or more of the default tabs within the manager.

  • $tabs: Имя вкладки к которой надо применить правило. Может принимать несколько имён разделённых запятыми [Required]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_hideTabs('meta'); 
 
// Скроет вкладку "Ключевые слова" от всех пользоателей
Создать вкладку
 mm_createTab($name, $id, $roles, $templates, $intro, $width)

Создаёт новую вкладку на странице создания/редактирования ресурса

  • $name: Имя новой вкладки [Required]
  • $id: Уникальный идентификатор для этой вкладки, он необходим для дальнейшего управления этой вкладкой [Required]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
  • $intro: HTML текст который будет в верхней части новой вкладки[Optional]
  • $width: Ширина содержимого вкладки. Если не будут указаны единицы измерения, то будут использоваться пиксели [Optional]
mm_createTab('Параметры товара', 'productoptions'); 
 
// Создаст новую вкладку "Параметры товара" для всех ролей пользователей и всех шаблонов
mm_createTab('SEO', 'seo', '', '3,4', '', '450'); 
 
// Создаст для ресурсов исчпользующих шаблоны "3" или "4" новую вкладку с шириной 450 пикселей, с названием "SEO"
Переместить параметр во вкладку
 mm_moveFieldsToTab($fields, $newtab_id, $roles, $templates)

Перемещает параметр в другую вкладку. However you can't move the following fields: keywords, metatags, which_editor, content, show_in_menu, menuindex

  • $fields: Имя параметра к которому надо применить это правило. Может принимать несколько имён разделённых запятыми [Required]
  • $newtab_id: Идентификатор вкладки в которую надо переместить параметр. Может быть идентификаторосм одной из вкладок по умолчанию (смотри таблицу "Названия вкладок") или идентификатор новой вкладки созданной при помощи mm_createTab [Required]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_moveFieldsToTab('pub_date,pagetitle', 'mycats'); 
 
// Переместит параметр pagetitle "Заголовок ресурса" и pub_date "Дата публикации" во вкладку "mycats"
mm_moveFieldsToTab('pub_date', 'general', '2', ''); 
 
// Переместит параметр "Дата публикации" во вкладку "Общие" только для пользователей с идентификатором роли "2"
mm_moveFieldsToTab('robots', 'seo'); 
 
// Переместит дополнительный параметр с именем "robots"  во вкладку "SEO" всех пользователей

Секции

Переименовать секцию
 mm_renameSection($section, $newlabel, $roles, $templates)

Изменяет название секции.

  • $section: Имя секции к которой надо применить это правило. Может принимать только одно имя секции. [Обязательно]
  • $newlabel: Новое название секции. [Обязательно]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_renameSection('content', 'Описание продукта', '2'); 
 
// Переименует секцию "Содержимое ресурса" в "Описание продукта" для пользователей с идентификатором роли "2"
mm_renameSection('tvs', 'Дополнительные поля'); 
 
// Переименует секцию "Параметры (TV)" в "Дополнительные поля" для всех пользователей
Скрыть секцию
 mm_hideSections($sections, $roles, $templates)

Скрывает секции на странице создания/редактирования ресурса.

  • $sections: Имя секции к которой надо применить это правило. Может принимать несколько имён разделённых запятыми [Обязательно]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_hideSections('tvs'); 
 
// Скроет секцию "Параметры (TV)" от всех пользователей
mm_hideSections('content,tvs', '1', '3'); 
 
// Скроет секции "Содержимое ресурса" и "Параметры (TV)" от пользователей с идентификатором роли "1", когда они редактируют ресурс которому назначен  шаблоном с идентификатором "3"

Виджеты

Виджет - Теги

Tags.jpg

mm_widget_tags($fields, $delimiter, $source, $display_count, $roles, $templates)

Changes the manager widget for this text field to tag-friendly format - e.g. it will display a clickable list of all other tags which have been used for this field.

Внимание: Дополнительные параметры должны быть типа текст!

  • $fields: Имя дополнительного параметра к которому надо применить виджет. Можно вводить несколько имён разделённых запятой. [Required]
  • $delimiter: Символ который разделяет теги.[По умолчанию - запятая]
  • $source: Имя дополнительного параметра из которого берутся теги. This allows the list of tags to come from a different field that the widget. By default it uses all the TVs listed in $fields [Optional - default is same as $fields]
  • $display_count: Показывать сколько ресурсов используют этот тег (в скобках после тега) [Optional - boolean - default is false]
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_widget_tags('docTags'); 
 
// Добавит виджет к дополнительному параметру "docTags"
mm_widget_tags('docTags,blogTags'); 
 
// Adds the tag editing widget to the docTags and blogTags template variables wherever they appear - making all previous values from both template variables available in both tags
mm_widget_tags('docTags', ',', '', '1', '', '2'); 
 
// Adds the tag editing widget to the docTags template variables in template 2, and shows the number of times each tag has been used
Виджет - Превью картинки
 mm_widget_showimagetvs($fields, $w, $h, $thumbnailerUrl, $roles, $templates)

Image-preview.jpg

Эмуляция плагина ShowImageTVs - показывает превью картинки выбранной в TV.

  • $fields: Имя дополнительного параметра к которому надо применить виджет. Можно вводить несколько имён разделённых запятой. [Не обязательно - по умолчанию используются все TV типа image]
  • $w: Предпочитаемая максимальная ширина превью [Не обязательно - по умолчанию 300]
  • $h: Предпочитаемая максимальная высота превью [Не обязательно - по умолчанию 100]
  • $thumbnailerUrl: Если у вас установлен PHPThumb (например, через Maxigallery или phpthumb плагины / сниппеты), используйте это, чтобы сделать эскизы, а не изменять размер превью с помощью CSS. Особенно полезно, если вы используете очень большие картинки, которые требуют много времени для загрузки. [Не обязательно - url]
  • $roles: Разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. [Не обязательно - по умолчанию "для всех ролей"]
  • $templates: Разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов [Не обязательно - по умолчанию "для всех шаблонов"]
mm_widget_showimagetvs(); 
 
// Добавит превью картинки к каждой TV с типом image
mm_widget_showimagetvs('', 150, 150); 
 
// Добавит превью размером 150x150px к каждой TV с типом image
mm_widget_showimagetvs('mypic', '300', '200', '/assets/snippets/phpthumb/phpThumb.php', '', '2'); 
 
// Добавит превью для TV "mypic" в документах с шаблоном 2. Размер превью изменен до 300x200px используя phpthumb, расположенную по адресу 
// "/assets/snippets/phpthumb/phpThumb.php"

Note: TV(s) must be an image input field

Виджет - Выбор цвета
mm_widget_colors($fields, $default, $roles, $templates)

Color-picker.jpg

Turns a text field into a color picker - storing the chosen hex value in the field.

Note: TV(s) must be a text input field

  • $fields: The name(s) of the template variables this should apply to. Can accept multiple field separated by a comma. [Required]
  • $default: Which color should be selected by default in new documents. This is only used in situations where the TV does not have a default value specified in the TV definition [Optional - default is white)
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".
  • $templates: разделённый запятыми список идентификаторов шаблонов к которым должно применяться правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех шаблонов. Параметр необязателен, значение по умолчанию "для всех шаблонов".
mm_widget_colors('bgcolor'); 
 
// Adds the color picker widget to the bgcolor template variable wherever it appears
mm_widget_colors('bgcolor,foreground'); 
 
// Adds the color picker widget to the bgcolor and foreground template variables wherever they appear
mm_widget_colors('bgcolor', '#000000', '1', '2'); 
 
// Adds the color picker widget to the bgcolor template variable, with a default value of black for new documents, only for role 1 and documents using template 2
Виджет - Доступ запрещён
mm_widget_accessdenied($ids, $message, $roles)

Запрещает доступ к указанным ресурсам.

For example, if the parent document has some Ditto call (which you do not want a user to edit) but want to allow them to create child documents.

Use this plugin with caution, as while it offers a basic level of protection, it does not prevent access to documents in the same way as ModX's permissions system. It would be possible for a user with technical knowledge to override it. Think of it as a "No entry" sign for an unlocked door, rather than a lock.

Originally contributed by Metaller

  • $ids: разделённый запятыми список идентификаторов ресурсов к которым надо запретить доступ. [Обязательно]
  • $message: HTML сообщение которое увидит пользователь [Параметр необязателен, значение по умолчанию "Access denied - Access to current document closed for security reasons.")
  • $roles: разделённый запятыми список идентификаторов ролей к которым должно применяться это правило. Оставьте параметр пустым (или пропустите) чтобы применить правило для всех ролей. Параметр необязателен, значение по умолчанию "для всех ролей".


mm_widget_accessdenied('1,15'); 
 
// Запрещает всем пользователям доступ к ресурсам с идентификаторами "1" и "15" (будет показанно сообщение по умоланию "Access denied - Access to current document closed for security reasons.")
mm_widget_accessdenied('1,15', 'Вы не можете редактировать этот документ.' '2'); 
 
// Запрещает пользователям идентификатор роли которых "2" доступ к ресурсам с идентификаторами "1" и "15" (будет показанно сообщение "Вы не можете редактировать этот документ.")
Personal tools