- Главная
- Документация
- ManagerManager
- 39527
- Июль 2014
ManagerManager позволяет вам настраивать внешний вид страницы создания/редактирования ресурса в бэкэнде вашего сайта. Вы можете переименовывать, скрывать и перемещать основные и дополнительные параметры ресурса и вкладки. И делать это для конкретных ролей пользователей или шаблонов. Абсолютная власть!
Новая установка
Данный плагин уже входит в установочный комплект MODx Evolution, поэтому, прежде чем его устанавливать, проверьте его наличие и версию в Элементы >> Управление элементами >> Плагины.
1. Скачайте последнюю версию ManagerManager
2. Разархивируйте скачанный файл.
3. В панели управления сайтом создайте новый плагин «ManagerManager», вставьте содержимое из файла plugin.txt.
4. Во вкладке "Системные события" отметьте события:
- OnDocFormRender
- OnDocFormPrerender
- OnBeforeDocFormSave
- OnDocFormSave
- OnDocDuplicate
- OnPluginFormRender
- OnTVFormRender
5. Во вкладке "Конфигурация" вставьте нижеприведённый код в поле "Конфигурация плагина:", и щёлкните "Обновить параметры":
&remove_deprecated_tv_types_pref=Remove deprecated TV types;list;yes,no;yes &config_chunk=Configuration Chunk;text;
6. Скопируйте все файлы из архива (кроме plugin.txt) на сайт (необходимая структура папок и файлов соблюдена в архиве, файлы плагина должны оказаться в /assets/plugins/managermanager
)
7. Если вы хотите редактировать правила в панели управления сайтом, создайте чанк «mm_rules» (или с любым другим именем) и укажите его в параметре плагина «Configuration Chunk» (на вкладке «Конфигурация»). Если вы хотите редактировать правила в фале, редактируйте файл /assets/plugins/managermanager/mm_rules.inc.php
. Внимание, параметр плагина «Configuration Chunk» должен быть пустым.
Внимание, необходимо отключить плагин «ShowImageTVs» (если он у вас есть) и использовать вместо него виджет mm_widget_showimagetvs
Обновление
Удалите все файлы из папки /assets/plugins/managermanager/
и сам плагин ManagerManager, затем установите заново, следуя вышеописанным инструкциям.
Виджеты
Все виджеты уже содержатся в архиве, ничего дополнительно устанавливать не нужно
Название полей
Имя параметра в MM | Заголовок параметра |
---|---|
pagetitle | Заголовок ресурса |
longtitle | Расширенный заголовок |
description | Описание |
alias | Псевдоним |
link_attributes | Атрибуты ссылки |
introtext | Аннотация (введение) |
template | Шаблон |
menutitle | Пункт меню |
menuindex | Позиция в меню |
show_in_menu | Показывать в меню |
hide_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 | Редактор |
resource_type | Тип ресурса |
Названия вкладок
Имена вкладок в MM | Имена вкладок |
---|---|
general | Общие |
settings | Настройка страницы |
access | Права доступа |
meta | Ключевые слова |
Названия секций
Имена секций в MM | Имена секций |
---|---|
content | Содержимое ресурса |
tvs | Параметры (TV) |
access | Права доступа |
Ограничение ввода данных
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
length | Максимальное количество символов, которые можно ввести. | {integer} | 150 |
Пример: Подключение виджета для TV «Slogan», ограничив количество вводимых символов до 140
mm_ddMaxLength('Slogan', '', '', 140);
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tvs * | Имена TV, для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
allowFloat | Можно ли вводить числа с плавающей запятой? | {0; 1} | 1 |
decimals | Количество цифр после запятой (0 — любое). | {integer} | 0 |
Пример: Сделать возможным ввод только цифр с точностью в 2 знака после запятой в TV «price» для шаблонов c id, равным 15 или 16 и всех ролей
mm_ddNumericFields('price', '', '15,16', 1, 2);
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tplIds * | Id шаблонов, которые необходимо скрыть из списка. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Скрыть шаблоны с id = 0 и 4 из списка во всех документах для пользователей с id роли = 1
mm_hideTemplates('0,4', '1');
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые необходимо скрыть. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Скрыть поле «псевдоним» у документов с id шаблона = 3 для пользователей с id роли = 1
mm_hideFields('alias', '1', '3');
Описание параметров: Значения отображаются при редактировании, но их невозможно изменить.
Довольно редко, но иногда бывают случаи, когда мы храним какую-то информацию о документе в его TV (например, количество просмотров или скачиваний, рейтинг и т.д.). Такая информация обновляется автоматически (какой-нибудь сниппет/плагин просто сохраняет значение в TV соответствующего документа). И вот Петя вдруг решил отредактировать текст документа: открыл, начал писать, его отвлекли по работе, потом позвонили, потом срочно пришлось уехать, два часа ездил, вернулся, продолжил редактировать. Всё это время документ у него был открыт, данные о количестве скачиваний уже 100 раз успели поменяться (было 3, а стало 33), но у Пети до сих пор отображается 3. Петя закончил свою работу, нажимает «Сохранить» и… количество скачиваний перезаписывается на 3! Неприятная ситуация. Что можно сделать? Вариант 1: можно сделать какую-нибудь супер-системную группу и выставить её для тех TV, значения которых не должны редактироваться пользователями. Неплохой вариант, но не надёжный (может найтись кто-то, кто поставит себе эту группу и обязательно что-то испортит) и не подходит, если хочется видеть эти данные при редактировании документа. Именно для таких случаев и предназначен этот виджет.
Работа виджета делится на 3 части:
Перед сохранением документа OnBeforeDocFormSave) получаются и запоминаются актуальные значения необходимых полей (из базы).
После сохранения (OnDocFormSave) записываются обратно.
JS делает поля визуально не редактируемыми.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые необходимо сделать доступными только для чтения. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Сделать поле TV «myVar» доступным только для чтения для пользователей с id роли = 2
mm_ddReadonly('myVar', '2');
Описание параметров: Добавляет звёздочку красного цвета рядом с именем обязательного для заполнения поля, выдаёт сообщение при попытке сохранить не заполнив обязательные поля, предотвращая сохранение.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые должны быть обязательными. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Сделать обязательным для заполнения заголовки и даты публикации всех документов
mm_requireFields('pagetitle,pub_date');
Установка необходимых значений
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые необходимо наследовать. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Выставлять всем новым документам заголовок как у родителя для пользователей с id ролью = 0 или 1
mm_inherit('pagetitle', '0,1');
Описание параметров: Сейчас TV задаются как «tvN», где N — id TV.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), для которых необходимо установить значение по умолчанию. | {comma separated string} | — |
value | Значение по умолчанию. Если в качестве поля указано «pub_date» или «unpup_date», а значение пустое, то выставится текущая дата. Также значение может являться строкой PHP-кода, который будет выполнен при параметре «eval» = true. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
eval | Необходимо ли обрабатывать значение параметра «value» как PHP-код? | {bollean} | false |
Пример: Автоматически выставлять дату отмены публикации спустя 4 недели от текущей для документов с id шаблона = 4
mm_default('unpub_date', 'return date("d-m-Y H:i:s", now()+(60*60*24*28));', '', '4', true);
Описание параметров: Похож на mm_default, но выставляет всегда.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Имена полей документа или TV, для которых необходимо установить значение. | {comma separated string} | — |
value | Значение, которое необходимо установить. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: У документов с шаблонами id = 1 и 3 выставить значение TV «someTv» в 'this is some' для редакторов (роль с id = 2)
mm_ddSetFieldValue('someTv', 'this is some', '2', '1,3');
Описание параметров: Например: чтобы заголовок и пункт меню документа были одинакомыми, — особенно удобно, когда одно из полей скрыто. Работает только с текстовыми полями (input, textarea).
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые необходимо синхронизировать. Необходимо задать минимум 2 поля. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Сделать значения этих полей всегда одинаковыми (для всех пользователей и документов)
mm_synch_fields('pagetitle,menutitle,longtitle');
Изменение названий и подсказок
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа или TV, которые необходимо переименовать. | {comma separated string} | — |
newlabel * | Новый текст для отображения. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
newhelp | Новый текст подсказки, всплывающей при наведении на иконку рядом с полем, или описания для TV. | {string} | — |
Пример: Переименовать поле «заголовок» у документов с id шаблона = 3 для всех пользователей
mm_renameField('longtitle', 'ФИО', '', '3');
mm_changeFieldHelp - изменить текст подсказки, появляющейся при наведении на иконку рядом с полем документа, или описания под TV
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
field * | Поле документа (или TV), у которого необходимо изменить подсказку. | {string} | — |
helptext * | Новый текст подсказки. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Изменить подсказку для поля «псевдоним» у всех документов для пользователей с id роли = 3
mm_changeFieldHelp('alias', 'Это последний фрагмент адреса страницы', '3');
Расширение функционала ввода данных
Описание параметров: Значения записываются в одно через необходимые разделители, например: несколько изображений. Возможности:
Добавление к одному документу произвольного количества изображений, текстовых полей, списков (с возможностью выбора значений).
Задание нескольких колонок разных типов (или одинаковых), например: изображения и подписи к ним (параметр «coloumns»).
Вывод заголовков колонок (параметр «coloumnsTitle»).
Количество значений (строк) может быть как фиксированным, динамичным, так и в определённых диапазонах (параметры «minRow» и «maxRow»).
Сортировка (перетаскивание) строк между собой.
Генерация уникального идентификатора каждой строки (параметр «coloumns»).
Вывод предопределённых списков значений (параметры «coloumns» и «coloumnsData»). Внимание, это пока в бете!
Для вывода данных используйте сниппет ddGetMultipleField.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tvs * | Имена TV, для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
columns | Типы колонок:
|
{comma separated string} | 'field' |
columnsTitle | Заголовки колонок. | {comma separated string} | — |
colWidth | Ширины колонок (может быть задана одна ширина). | {comma separated string} | 180 |
splY | Разделитель между строками. | {string} | '||' |
splX | Разделитель между колонками. | {string} | '::' |
imgW | Максимальная ширина превьюшки (для изображений). | {integer} | 300 |
imgH | Максимальная высота превьюшки (для изображений). | {integer} | 100 |
minRow | Минимальное количество строк. | {integer} | 0 |
maxRow | Максимальное количество строк (0 — без лимита). | {integer} | 0 |
columnsData | Список возможных значений для полей в формате json, через ||. | {separated string} | — |
Пример: Возможность добавления контактов сотрудников, но не более 5 и не меньше 2, с разными размерами колонок (для текстовой tv «employees»)
mm_ddMultipleFields('employees', '', '', 'text,text,text', 'Имя,Телефон,Должность', '250,100,100', '||', '::', 300, 100, 2, 5);
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tvs * | Имена TV, для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
parentIds * | Id родительских документов, дочерние документы которых необходимо выбирать. | {comma separated string} | — |
depth | Глубина поиска дочерних документов. | {integer} | 1 |
filter | Условия фильтрации документов (чем-то похож на фильтр Ditto), разделённые через '&' между парами и через '=' между ключом и значением. Например: 'template=15&published=1', — получим только опубликованные документы с id шаблона 15. | {separated string} | — |
max | Максимальное количество документов, которое пользователь может выбрать (при == 0 — без ограничений). | {integer} | 0 |
labelMask | Шаблон отображения элемента в списке выбора документов. Задаётся как строка, содержащая плэйсхолдеры с полями документа (и TV). Также доступен дополнительный плэйсхолдер '[+title+]', в который будет подставлено значение поля «menutitle», а если оно не заполнено, то «pagetitle». | {string} | '[+title+] ([+id+])' |
Пример:
mm_ddSelectDocuments();
Описание параметров: Для нужной TV автоматически формируется «список» выбора со всеми тегами, при этом, новые теги просто вписываются через разделитель здесь же) на странице редактирования документа. TV должна быть текстового типа.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | TV, для которых необходимо отобразить теги. | {comma separated string} | — |
delimiter | Разделитель между тегами в поле | {string} | ',' |
source | TV, из которых должны браться теги для списка выбра. Это позволяет использовать разные поля для ввода тегов и формирования списка выбора. По умолчанию значение берётся из параметра «fields». Не используйте этот параметр, если не уверены. | {comma separated string} | = fields |
display_count | Отображать ли в списке выбора количество документов, в которых используется тег (в скобочках после самого тега)? | {boolean} | false |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Сделать для TV «docTags» виджет тегов с отображением количества документов, использующих каждый тег рядом с ним у документов с id шаблона = 2 для всех ролей
mm_widget_tags('docTags', ',', '', '1', '', '2');
Описание параметров: Выбранный цвет сохраняется в TV в hex формате. TV должна быть текстового типа.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | TV, для которых необходимо отобразить палитру цветов. | {comma separated string} | — |
default | Цвет по умолчанию, который будет вставляться при пустом значении в TV (в случае, если значение по умолчанию у TV не задано стандартными средствами MODx). | {string} | '#ffffff' |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Добавить палитру выбора цветов для TV «bgcolor» у документов с id шаблона = 2 для пользователей с id роли = 1 и выставить чёрный цвет по умолчанию
mm_widget_colors('bgcolor', '#000000', '1', '2');
Работа с секциями
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
title * | Текст заголовка новой секции. | {string} | — |
id * | Уникальный id новой секции. | {string} | — |
tabId | Id вкладки, в которую будет вставлена секция. Можно указать как id одной из стандартных вкладок, так и id вкладки, созданной при помощи mm_createTab. | {string} | 'general' |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Создать секцию с заголовком «Категории» в основной вкладке у всех документов для всех пользователей
mm_ddCreateSection('Категории', 'mycats');
Описание параметров: К сожалению, невозможно переместить следующие поля: keywords, metatags, which_editor, show_in_menu, menuindex.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые необходимо переместить. | {string} | — |
sectionId * | Id секции, в которую необходимо переместить поля. Можно указать как id одной из стандартных секций, так и id секции, созданной при помощи mm_ddCreateSection. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Переместить TV «profilePhoto» в секцию «images» для всех пользователей и шаблонов
mm_ddMoveFieldsToSection('profilePhoto', 'images');
Описание параметров: «Секции» — это такие области на странице редактирования документа, например: «Содержимое ресурса» или «Параметры (TV)».
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
$sections * | Секции, которые необходимо скрыть. | {comma separated string} | — |
$roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
$templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Скрыть секции «Содержимое ресурса» и «Параметры (TV)» у документов с id шаблона = 3 для пользователей с id роли = 1
mm_hideSections('content,tvs', '1', '3');
Описание параметров: «Секции» — это такие области на странице редактирования документа, например: «Содержимое ресурса» или «Параметры (TV)».
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
$section * | Секция, которую необходимо переименовать. | {'content'; 'tvs'} | — |
$newlabel * | Новый текст заголовка секции. | {string} | — |
$roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
$templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Переименовать секцию контента документа для пользователей с id роли = 2
mm_renameSection('content', 'Текстик (отображается на страничке)', '2');
Работа с вкладками
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
name * | Текст заголовка новой вкладки. | {string} | — |
id * | Уникальный id новой вкладки. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
intro | Описание новой вкладки, отображается в самом верху (можно использовать HTML). | {string} | — |
width | Ширина содержимого новой вкладки, можно использовать css значения (например: '100%', '450px', 'auto'). | {string} | 680 |
Пример: Создать новую вкладку шириной 450px с описанием у документов с id шаблона = 3 или 4
mm_createTab('SEO', 'seoTab', '', '3,4', ' Здесь вы можете отредактировать всё, что касается поисковой оптимизации. ', '450');
Описание параметров: К сожалению, невозможно переместить следующие поля: keywords, metatags, which_editor, show_in_menu, menuindex.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), которые необходимо переместить. | {comma separated string} | — |
tabId * | Id вкладки, в которую необходимо переместить поля. Можно указать как id одной из стандартных вкладок, так и id вкладки, созданной при помощи mm_createTab. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Переместить дату публикации документа в основную вкладку для пользователей с id роли = 2
mm_moveFieldsToTab('pub_date', 'general', '2');
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tabs * | Id вкладок, которые необходимо скрыть. | {'general'; 'settings'; 'access'} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Скрыть вкладку «Права доступа» у документов с id шаблона = 3 для пользователей с id роли = 1
mm_hideTabs('access', '1', '3');
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tab * | Id вкладки, которую необходимо переименовать. | {'general'; 'settings'; 'access'} | — |
newlabel * | Новый текст заголовка вкладки. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Переименовать вкладку «Общие» для пользователей с id роли = 2
mm_renameTab('general', 'Основное', '2');
Карты
Описание параметров: Начальная позиция карты задаётся очень просто: достаточно указать необходимые координаты в качестве «значения по умолчанию» соответствующей TV.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tvs * | Имена TV, для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
w | Ширина контейнера с картой. | {'auto'; integer} | 'auto' |
h | Высота контейнера с картой. | {integer} | 400 |
hideField | Необходимо ли скрывать оригинальное текстовое поле с координатами. | {0; 1} | 1 |
Пример: Подключение виджета Google Maps для TV «LatLng»
mm_ddGMap('LatLng');
Описание параметров: Для простого вывода карты на страницу используйте сниппет ddYMap. Начальная позиция карты задаётся очень просто: достаточно указать необходимые координаты в качестве «значения по умолчанию» соответствующей TV.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tvs * | Имена TV, для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
w | Ширина контейнера с картой. | {'auto'; integer} | 'auto' |
h | Высота контейнера с картой. | {integer} | 400 |
hideField | Необходимо ли скрывать оригинальное текстовое поле с координатами. | {0; 1} | 1 |
Пример: Подключение виджета Yandex Maps для TV «LngLat»
mm_ddYMap('LngLat');
Прочее
mm_widget_showimagetvs - показать превьюшки изображений, выбранных в TV на странице редактирования документа
Описание параметров: Аналогичен плагину ShowImageTVs, который не совместим с ManagerManager.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields | TV, для которых необходимо отобразить превьюшки. | {comma separated string} | — |
maxWidth | Максимальная ширина превьюшки в px. | {integer} | 300 |
maxHeight | Максимальная высота превьюшки в px. | {integer} | 100 |
thumbnailerUrl | Если у вас установлен PHPThumb, вы можете указать url, где он находится, адрес превью будет обращён к нему с передачей url исходной картинки, ширины и высоты. | {string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
Пример: Показать превью для TV «mypic» у документов с id шаблона = 2 и отправить за одно на генерацию в phpThumb для получения превьюшек размером 300×200 px
mm_widget_showimagetvs('mypic', '300', '200', '/assets/snippets/phpthumb/phpThumb.php', '', '2');
Описание параметров: Виджет срабатывает только в момент сохранения документов (событие «OnBeforeDocFormSave») и не создаёт изображений повторно, что обеспечивает минимальный расход ресурсов сервера.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
tvs * | Имена TV с изображениями, для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
width * | Ширина создаваемого изображения в px. Пустое значение — автоматический расчёт исходя из высоты. Обязателен хотя бы один размер. | {integer} | — |
height * | Высота создаваемого изображения в px. Пустое значение — автоматический расчёт исходя из ширины. Обязателен хотя бы один размер. | {integer} | — |
cropping | Обрезать ли изображение, пытаясь добиться жесткого соответствия размерам.
|
{0; 1; 'crop_resized'; 'fill_resized'} | 'crop_resized' |
suffix | Суффикс для имен создаваемых изображений. При пустом значении заменяются исходные изображения! | {string} | '_ddthumb' |
replaceFieldVal | Нужно ли переписывать значения в TV на имена созданных изображений (те, что с учётом «suffix»). Не работает при multipleField = 1! | {0; 1} | 0 |
background | Цвет фона (используется при cropping = 'fill_resized'). | {string} | '#FFFFFF' |
multipleField | Является ли поле множественным (для mm_ddMultipleFields). | {0; 1} | 0 |
colNum | Номер колонки, в которой находится изображение (для mm_ddMultipleFields). | {integer} | 0 |
splY | Разделитель строк (для mm_ddMultipleFields). | {string} | '||' |
splX | Разделитель колонок (для mm_ddMultipleFields). | {string} | '::' |
num | Номер строки, которую надо обрабатывать (для mm_ddMultipleFields). | {integer; 'all'} | 'all' |
allowEnlargement | Разрешить увеличение изображения? | {0; 1} | 1 |
Пример: Создать для изображений, выставленных в TV «imageTV», уменьшенные копии, перезаписывая значения в TV
mm_ddResizeImage('imageTV', '', '', 200, 100, 'crop_resized', '_ddthumb', 1);
mm_ddAutoFolders - при сохранении документа (событие OnBeforeDocFormSave) автоматически перемещать его, основываясь на его дате (дате публикации, или любой дате в tv) в папку года и месяца
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates * | Id шаблонов, для которых необходимо применить виджет. | {comma separated string} | — |
yearsParents * | ID корневых родителей (непосредственных родителей документов-лет). | {comma separated string} | — |
dateSource | Поле документа, из которого необходимо брать дату. | {string} | 'pub_date' |
yearFields | Поля документов (и TV), которые необходимо выставить документам-годам. Ассоциативный массив в JSON, где ключ — имя поля, значение — значение. | {string: JSON} | '{"template":0,"published":0}' |
monthFields | Поля документов (и TV), которые необходимо выставить документам-месяцам. Ассоциативный массив в JSON, где ключ — имя поля, значение — значение. | {string: JSON} | '{"template":0,"published":0}' |
yearPublished | Внимание! Устаревший параметр, используйте «$yearFields». Надо ли публиковать документы-годы? | {0; 1} | — |
monthPublished | Внимание! Устаревший параметр, используйте «$monthFields». Надо ли публиковать документы-месяцы? | {0; 1} | — |
numericMonth | Нужно ли документам-месяцам делать псевдонимы в виде порядкового номера с ведущим нолём (например: «03»). | {boolean} | false |
Пример:
mm_ddAutoFolders();
mm_ddFillMenuindex - выставить минимальное свободное значение позиции меню (menuindex) для новых документов
Описание параметров: По умолчанию позиция меню в MODx для новых документов просто равна количеству дочерних документов на одном уровне, что не всегда удобно.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
parent | ID документа, для дочерних документов которого должен применяться виджет. Если оставить пустым (не указаывать), то виджет будет применён абсолютно ко всем документам. | {integer; ''} | — |
Пример:
mm_ddFillMenuindex();
mm_widget_accessdenied - запретить доступ к определённым документам по их ID (доступ к дочерним документам не запрещается)
Описание параметров: Например, в родительском документе вызвыается сниппет «Ditto», и вы не хотите, чтобы пользователи редактировали этот документ, но хотите, чтобы пользователи могли создавать и редактировать дочерние документы. Используйте этот виджет с осторожностью, т.к. он не обеспечивает такой защиты, как встроенная система прав MODx. Пользователь, обладающий техническими знаниями может обойти эту защиту через инструменты для разработки в браузере.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
ids * | Список документов, к которым необходимо запретить доступ. | {comma separated string} | — |
default | Сообщение о запрете доступа (разрешён HTML). | {string} | 'Access denied - Access to current document closed for security reasons.' |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
Пример: Запретить доступ к документам с id = 1 и 15 пользователям с id роли = 2 и отобразить произвольное сообщение о запрете доступа
mm_widget_accessdenied('1,15', 'Этот документ запрещено редактировать. Давай, до свидания!' '2');
Описание параметров:
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
fields * | Поля документа (или TV), для которых необходимо применить виджет. | {comma separated string} | — |
roles | Роли, для которых необходимо применить виждет, пустое значение — все роли. | {comma separated string} | — |
templates | Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. | {comma separated string} | — |
validAttrsForAllTags | Разрешённые атрибуты для для всех тегов (атрибуты, которые не нужно удалять, остальные удалятся). | {comma separated string} | 'title,class' |
validStyles | Разрешённые стили для всех тегов (стили, которые не нужно удалять из атрибута «style»). | {comma separated string} | 'word-spacing' |
validAttrs | Разрешённые атрибуты для тегов (они не будут удаляться). В качестве ключа используется имя тега, в качестве значения — разрешённые атрибуты (строка, разделённая через запятую). | {string: JSON} | '{"img":"src,alt,width,height","a":"href,target"}' |
Пример:
mm_ddHTMLCleaner();
С помощью ManagerManager вы можете изменять внешний вид страницы редактирования ресурса. Вы можете менять заголовки параметров ресурса, добавлять новые вкладки, скрывать секции и многое другое. Также вы можете расширять возможности ManagerManager добавляя свои собственные виджеты. ManagerManager работает исполняя правила, которые применяются к определённым областям страницы редактирования ресурса. Каждое правило может быть применено к определенной роли, определенному шаблону или любой их комбинации.
Для переименования параметра "Заголовок ресурса" для всех шаблонов и всех пользователей, вы можете использовать:
mm_renameField('pagetitle', 'Новый текст заголовка');
просто поместите это правило в чанк mm_demo_rules (или другой чанк, указанный в конфигурации плагина).
Вы можете применять правило для пользователей с конкретной ролью, указав третий параметр, который является идентификатором одной или нескольких ролей пользователей. Идентификатор роли вы можете найти на вкладке "Роли".
Чтобы применить приведенное выше правило только к роли с идентификатором "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. Например, для сохранения идентификаторов шаблона и роли.
$news_role = '3';
$news_tpl = '10';
mm_createTab('SEO','seoTab', '', $news_tpl, '', '600');
mm_renameField('longtitle','Заголовок статьи', $news_role, $news_tpl, 'Это заголовок статьи');
Вы можете применять правило к ресурсам с определённым идентификатором.
// скроет поле ресурса, если идентификатор родителя этого ресурса "28".
if($content['parent'] == 28){
mm_hideFields('tvname','2');
}
Модуль ddMMEditor
Модуль для удобного редактирования файла конфигурации плагина ManagerManager.
Возможности:
- визуальное создание правил для MM;
- применение правил к необходимым шаблонам и ролям в два клика;
- autocomplete со всеми именами полей и TV;
- объединение правил в группы по смыслу (группы можно называть произвольными именами);
- сворачивание-разворачивание групп для удобного просмотра в общем виде;
- drag'n'drop правил и групп между собой;
- возможность «ручной» вставки произвольного кода в начало и конец конфигурационного файла.
Установка
Содержимое файла module.php должно быть скопировано в поле «Код модуля» в меню создания нового модуля. Остальные файлы должны находиться в assets/modules/ddmmeditor/... (в архиве уже создана нужная структура папок). Модуль изменяет файл assets/plugins/managermanager/mm_rules.inc.php плагина ManagerManager.
Внимание! Чтобы ManagerManager использовал правила, созданные модулем, параметр «Configuration Chunk» в конфигурации плагина (вкладка «Конфигурация») должен быть пустым.
Сниппет ddGetMultipleField
Сниппет для вывода данных, разделённых через определённые разделители. Удобно использовать для вывода значений полей документов, сформированных виджетом mm_ddMultipleFields. Возможности:
- Получение необходимого поля документа (и TV) по id. Параметры «docField» и «docId».
- Вывод необходимого количества значений по номерам строк и и значениям. Параметры «startRow», «totalRows» и «filter».
- Вывод необходимых значений по номерам колонок. Параметр «columns».
- Сортировка строк по значениям колонок перед выводом ('ASC', 'DESC', 'RAND', 'REVERSE'), в том числе множественная сортировка. Параметры «sortDir» и «sortBy».
- Вывод значений через разделители строк и колонок. Параметры «rowGlue» и «colGlue».
- Удаление пустых значений колонок и строк перед выводом. Параметры «removeEmptyRows» и «removeEmptyCols».
- Типографирование значений перед выводом (используется сниппет ddTypograph). Параметр «typography».
- URL-кодирование результата перед выводом. Параметр «urlencode».
- Вывод результата в JSON. Параметр «outputFormat».
- Вывод значений по шаблонам (чанкам) строк и колонок (в шаблоне строк также доступен плэйсхолдер [+rowNumber+] с номером строки). Параметры «rowTpl» и «colTpl».
- Вывод результата выполнения в чанк «outerTpl» с передачей дополнительных данных через параметр «placeholders»
Внимание! Из пары параметров «string»/«docField» необходимо передавать лишь один.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
string * | Исходная строка, содержащая значение с разделителями. | {separated string} | — |
docField | Имя поля документа / TV, содержащего значение. В этом случае параметр «string» игнорируется, значение получается из поля документа. | {string} | — |
docId | ID документа, значение поля которого нужно получить. Если id не задан, берётся id текущего документа. | {integer} | — |
rowDelimiter | Разделитель между строками в исходной строке. | {string; regexp} | '||' |
colDelimiter | Разделитель между колонками в исходной строке. | {string; regexp} | '::' |
startRow | Номер строки, начиная с которой необходимо возвращать (строки нумеруются с 0). | {integer} | 0 |
totalRows | Количество возвращаемых строк. При значении == 'all' будут возвращены все имеющиеся строки. | {integer; 'all'} | 'all' |
columns | Номера колонк через запятую, которые нужно вернуть (колонки нумеруются с 0). При значении == 'all' будут возвращены все колонки. | {comma separated string; 'all'} | 'all' |
filter | Фильтр по значениям колонок. Например, при '0::a||0::b||1::1' выведутся только строки, в которых значение колонки 0 равно 'a' или 'b' и значение колонки 1 равно '1'. | {separated string} | — |
removeEmptyRows | Удалять пустые строки? | {0; 1} | 1 |
removeEmptyCols | Удалять пустые колонки? | {0; 1} | 1 |
sortBy | Номер колонки (нумеруются с ноля), по которой необходимо сортировать. Для множественной сортировки параметры указываются через запятую (например: '0,1'). | {comma separated string} | 0 |
sortDir | Направление сортировки строк. При значении == 'REVERSE' строки будут возвращены в обратном порядке. | {'ASC'; 'DESC'; 'RAND'; 'REVERSE'; ''} | — |
typography | Номера колонок через запятую, значения которых нужно типографировать (колонки нумеруются с 0). Если не задано, ничего не типографируется. | {comma separated string} | — |
outputFormat | Формат, в котором возвращать результат. | {'html'; 'JSON'; 'array'; 'htmlarray'} | 'html' |
rowGlue | Разделитель (объединитель) между строками при выводе. Может использоваться совместно с шаблоном «rowTpl». | {string} | — |
colGlue | Разделитель (объединитель) между колонками при выводе. Может использоваться совместно с шаблоном «colTpl» (но не «rowTpl», по понятным причинам). | {string} | — |
rowTpl | Шаблон для вывода строк (параметр «outputFormat» должен быть == 'html'). Доступные плэйсхолдеры: [+rowNumber+] (номер строки, начиная с 1), [+total+] (общее количество строк), [+resultTotal+] (количество возвращаемых строк), [+col0+], [+col1+], … (значения соответствующих колонок). | {string: chunkName} | — |
colTpl | Список шаблонов для вывода колонок, через запятую (параметр «outputFormat» должен быть == 'html'). Если шаблонов меньше, чем колонок, для всех недостающих выставляется последний указанный шаблон. Значение 'null' — без шаблона. Доступный плэйсхолдер: [+val+]. | {comma separated string: chunkName; 'null'} | — |
outerTpl | Шаблон внешней обёртки (при «outputFormat» != 'array'). Доступные плэйсхолдеры: [+result+], [+total+] (общее количество строк), [+resultTotal+] (количество возвращаемых строк), [+rowY.colX+] (где «Y» — номер строки, «X» — номер колонки). | {string: chunkName} | — |
placeholders | Дополнительные данные, которые необходимо передать в шаблон «outerTpl». Формат: строка, разделённая '::' между парой ключ-значение и '||' между парами. | {separated string} | — |
urlencode | Надо URL-кодировать результирующую строку (при «outputFormat» != 'array')? Строка кодируется согласно RFC 3986. | {0; 1} | 0 |
totalRowsToPlaceholder | Имя внешнего плэйсхолдера, в который нужно вывести общее количество. Если параметр не задан — не выводится. | {string} | — |
resultToPlaceholder | Имя внешнего плэйсхолдера, в который нужно сохранить результат работы сниппета вместо обычного вывода. Если параметр не задан — сниппет просто возвращает реузльтат. | {string} | — |
Примеры
Вывод изображений с описаниями
Исходная строка (пусть находится в TV документа «images»):
/assets/images/some_img1.jpg::Изображение 1||/assets/images/some_img2.jpg::Изображение 2
Вызов сниппета в шаблоне документа:
[[ddGetMultipleField? &string=`[*images*]` &rowTpl=`imgRow` ]]
Код чанка «imgRow»:
[+col1+]: <img src="[+col0+]" alt="[+col1+]" />
Получение и вывод данных из поля (TV) «prices» документа с id = 25 в виде таблицы, если что-то есть и ничего, если нету
Исходное значение поля:
Яблоки вкусные::100::кг||Гвозди обыкновенные::5 000::центнер||Коты::865::шт
Вызов сниппета (где угодно):
[[ddGetMultipleField? &docField=`prices` &docId=`25` &rowTpl=`pricesRow` &outerTpl=`pricesWrap` ]]
Код чанка «pricesRow»:
<tr> <td>[+rowNumber+]</td> <td>[+col0+]</td> <td>[+col1+] руб./[+val2+]</td> </tr>
Код чанка «pricesWrap»:
<h1>Табличка цен</h1> <table> [+result+] </table>
Вывод тегов документа через запятую с использованием регулярного выражения в «rowDelimiter»
Пусть теги документа у нас хранятся в TV «tags» и к этой TV у нас применён виджет mm_widget_tags. Пользователь заполняет теги через запятую, при этом, может заполняться как с пробелами по краям, так и без них.
Значение TV «tags»:
Коты, Кошки,Собаки , Медведи ,Слоны
Вызов сниппета в шаблоне документа:
[[ddGetMultipleField? &string=`[*tags*]` &rowDelimiter=`/\s*,\s*/` &rowGlue=`, ` &rowTpl=`tagsRow` ]]
Код чанка «tagsRow»:
<a href="[~[*parent*]~]?tags=[+col0+]">[+col0+]</a>
Результат:
<a href="[~[*parent*]~]?tags=Коты">Коты</a>, <a href="[~[*parent*]~]?tags=Кошки">Кошки</a>, <a href="[~[*parent*]~]?tags=Собаки">Собаки</a>, <a href="[~[*parent*]~]?tags=Медведи">Медведи</a>, <a href="[~[*parent*]~]?tags=Слоны">Слоны</a>
Сниппет ddTypograph
Сниппет типографирует текст. Не использует сторонних сервисов, не отправляет никаких запросов, всё делается прямо у вас на сервере.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
text * | Текст, который нужно типографировать. | {string} | — |
optAlign | Оптическое выравнивание (висячая пунктуация). | {0; 1} | 0 |
text_paragraphs | Простановка параграфов и переносов строк. | {0; 1} | 0 |
text_autoLinks | Выделение ссылок из текста (в том числе email). | {0; 1} | 0 |
etc_unicodeConvert | Преобразовывать html-сущности в юникод (— вместо — и т.д.). | {0; 1} | 1 |
noTags | Не добавлять теги. Бывают ситуации, когда использование HTML-тегов в тексте недопустимо (например, когда текст выводится в значение атрибута тега), для таких случаев и предназначен этот параметр. | {0; 1} | 0 |
Примеры
Типографирование аннотации перед выводом
[[ddTypograph? &text=`[*introtext*]`]]
Типографирование аннотации с автоматической расстановкой абзацев, ссылок и адресов email
[[ddTypograph? &text=`[*introtext*]` &text_paragraphs=`1` &text_autoLinks=`1`]]
Типографирование аннотации с автоматическим оптическим выравниванием (висячие кавычки и пр.)
[[ddTypograph? &text=`[*introtext*]` &optAlign=`1`]]
Сниппет ddYMap
Сниппет для вывода на страницу Яндекс.Карт в простом виде.
Удобно использовать совместно с виджетом mm_ddYMap.
Внимание! На странице уже должен быть подключен jQuery.
Из пары параметров «geoPos» / «docField» необходимо передавать лишь один.
Сниппет можно вызывать в любом месте страницы, место его вызова не имеет значения.
Название | Описание | Допустимые значения | Значение по умолчанию |
---|---|---|---|
geoPos * | Координаты на карте (широта и долгота, перечисленные через запятую). | {comma separated string} | — |
docField | Имя поля документа, содержащего координаты, значение которого необходимо получить. | {string} | — |
docId | ID документа, значение поля которого нужно получить. | {integer} | текущий документ |
mapElement | Селектор контейнера, где будет находиться карта. | {string} | '#map' |
defaultType | Тип карты по умолчанию: 'map' — схема, 'satellite' — спутник, 'hybrid' — гибрид, 'publicMap' — народная карта, 'publicMapHybrid' — народный гибрид. | {'map'; 'satellite'; 'hybrid'; 'publicMap'; 'publicMapHybrid'} | 'map' |
defaultZoom | Масштаб карты по умолчанию. | {integer} | 15 |
icon | Изображение иконки для метки на карте. | {string} | без иконки (используется стандартная) |
iconOffset | Смещение иконки в пикселях относительно базового положения, задается в виде пары чисел, разделенных запятой (x, y). Базовое положение: иконка располагается горизонтально по центру точки (geoPos), вертикально — над точкой. | {comma separated string} | — |
scrollZoom | Разрешёно ли изменение масштаба карты колесом мыши? | {0; 1} | 0 |
mapCenterOffset | Смещение центра карты относительно центра контейнера в пикселях. | {comma separated string} | — |
Примеры
[[ddYMap? &geoPos=`55.177446326764496,61.29041790962219` ]]