Віджети плагіну ManagerManager для налаштування зовнішнього вигляду ресурсу в бекенд сайту.
Синтаксис: mm_ddMaxLength($fields, $roles, $templates, $length)
Опис параметрів:
Назва | Опис | Доступні значення | Значення за замовчуванням |
---|---|---|---|
fields * | Поля документу (або TV), для яких необхідно задати віджет. | {comma separated string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
length | Максимальна кількість символів, які можна ввести. | {integer} | 150 |
Приклад: Підключення віджету для TV «Slogan», обмеживши кількість символів до 140
mm_ddMaxLength('Slogan', '', '', 140);
Синтаксис: mm_ddNumericFields($tvs, $roles, $templates, $allowFloat, $decimals)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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» для шаблонів з id, рівним 15 або 16 і всіх ролей
mm_ddNumericFields('price', '', '15,16', 1, 2);
Синтаксис: mm_hideTemplates($tplIds, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
tplIds * | Id шаблонів, які необхідно приховати зі списку. | {comma separated string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Приховати шаблони з id = 0 і 4 зі списку у всіх документах для користувачів з id ролі = 1
mm_hideTemplates('0,4', '1');
Синтаксис: mm_hideFields($fields, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
fields * | Поля документу (або TV), які необхідно приховати. | {comma separated string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Приховати поле «псевдонім» у документів з id шаблону = 3 для користувачів з id ролі = 1
mm_hideFields('alias', '1', '3');
Синтаксис: mm_ddReadonly($fields, $roles, $templates)
Опис параметрів: Значення відображаються при редагуванні, але їх неможливо змінити.
Інколи бувають випадки, коли ми зберігаємо якусь інформацію про документ в його 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');
Синтаксис: mm_requireFields($fields, $roles, $templates)
Опис параметрів: Додає зірочку червоного кольору близько з іменем обов'язкового для заповнення поля, видає повідомлення при спробі зберігання не заповнюючи обов'язкові поля, запобігаючи збереження.
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
fields * | Поля документу (або TV), які повинні бути обов'язковими. | {comma separated string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Зробити обов'язковим для заповнення заголовків і дат публікації всіх документів
mm_requireFields('pagetitle,pub_date');
Синтаксис: mm_inherit($fields, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
fields * | Поля документу (або TV), які необхідно успадкувати. | {comma separated string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Виставити всім новим документам заголовок як у батьківського для користувачів з id роллю = 0 або 1
mm_inherit('pagetitle', '0,1');
Синтаксис: mm_default($fields, $value, $roles, $templates, $eval)
Опис параметрів: Зараз 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_ddSetFieldValue($fields, $value, $roles, $templates)
Опис параметрів: Схожий на 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');
Синтаксис: mm_synch_fields($fields, $roles, $templates)
Опис параметрів: Наприклад: щоб заголовок і пункт меню документу були однаковими, – особливо зручно, коли одне із полів приховано. Працює тільки з текстовими полями (input, textarea).
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
fields * | Поля документу (або TV), які необхідно синхронізувати. Необхідно задати мінімум 2 поля. | {comma separated string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Зробити значення цих полів завжди однаковими (для всіх користувачів і документів)
mm_synch_fields('pagetitle,menutitle,longtitle');
Синтаксис: mm_renameField($fields, $newlabel, $roles, $templates, $newhelp)
Опис параметрів:
Название | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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($field, $helptext, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
field * | Поле документу (або TV), у якого необхідно змінити підказку. | {string} | – |
helptext * | Новий текст підказки. | {string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Змінити підказку для поля «псевдонім» у всіх документів для користувачів з id ролі = 3
mm_changeFieldHelp('alias', 'Це останній фрагмент адреси сторінки', '3');
Синтаксис: mm_ddMultipleFields($tvs, $roles, $templates, $columns, $columnsTitle, $templates, $colWidth, $splY, $splX, $imgW, $imgH, $minRow, $maxRow, $columnsData)
Опис параметрів: Значення записуються в одне через необхідні роздільники, наприклад: декілька зображень. Можливості:
Додавання до одного документу довільної кількості зображень, текстових полів, списків (з можливістю вибору значення).
Завдання декількох колонок різних типів (або однакових), наприклад: зображень і підписів до них (приклад «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);
Синтаксис: mm_ddSelectDocuments($tvs, $roles, $templates, $parentIds, $depth, $filter, $max, $labelMask)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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();
Синтаксис: mm_widget_tags($fields, $delimiter, $source, $display_count, $roles, $templates)
Опис параметрів: Для потрібного 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');
Синтаксис: mm_widget_colors($fields, $default, $roles, $templates)
Опис параметрів: Обраний колір зберігається в 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');
Синтаксис: mm_ddCreateSection($title, $id, $tabId, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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');
Синтаксис: mm_ddMoveFieldsToSection($fields, $sectionId, $roles, $templates)
Опис параметрів: На жаль, неможливо перемістити наступні поля: 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');
Синтаксис: mm_hideSections($sections, $roles, $templates)
Опис параметрів: «Секції» – це такі області на сторінці редагування документа, наприклад: «Вміст ресурсу» або «Параметри (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');
Синтаксис: mm_renameSection($section, $newlabel, $roles, $templates)
Опис параметрів: «Секції» – це такі області на сторінці редагування документа, наприклад: «Вміст ресурсу» або «Параметри (TV)».
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
$section * | Секція, яку необхідно перейменувати. | {'content'; 'tvs'} | – |
$newlabel * | Новий текст заголовка секції. | {string} | – |
$roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
$templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Перейменувати секцію контенту документа для користувачів з id ролі = 2
mm_renameSection('content', 'Текстик (відображається на сторінці)', '2');
Синтаксис: mm_createTab($name, $id, $roles, $templates, $intro, $width)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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');
Синтаксис: mm_moveFieldsToTab($fields, $tabId, $roles, $templates)
Опис параметрів: На жаль, неможливо перемістити наступні поля: 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');
Синтаксис: mm_hideTabs($tabs, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
tabs * | Id вкладок, які необхідно приховати. | {'general'; 'settings'; 'access'} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Приховати вкладку «Права доступу» у документів з id шаблона = 3 для користувачів з id ролі = 1
mm_hideTabs('access', '1', '3');
Синтаксис: mm_renameTab($tab, $newlabel, $roles, $templates)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
tab * | Id вкладки, яку необхідно перейменувати. | {'general'; 'settings'; 'access'} | – |
newlabel * | Новий текст заголовка вкладки. | {string} | – |
roles | Ролі, для яких необхідно задати віджет, порожнє значення – всі ролі. | {comma separated string} | – |
templates | Id шаблонів, для яких необхідно задати віджет, порожнє значення – всі шаблони. | {comma separated string} | – |
Приклад: Перейменувати вкладку «Спільні» для користувачів з id ролі = 2
mm_renameTab('general', 'Основні', '2');
Синтаксис: mm_ddGMap($tvs, $roles, $templates, $w, $h, $hideField)
Опис параметрів: Початкова позиція карти задається дуже просто: достатньо вказати необхідні координати в якості «значення за замовчуванням» відповідно 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');
Синтаксис: mm_ddYMap($tvs, $roles, $templates, $w, $h, $hideField)
Опис параметрів: Для простого виводу карти на сторінку використовуйте сніпет 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($fields, $maxWidth, $maxHeight, $thumbnailerUrl, $roles, $templates)
Опис параметрів: Аналогічний плагіну 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');
Синтаксис: mm_ddResizeImage($tvs, $roles, $templates, $width, $height, $cropping, $suffix, $replaceFieldVal, $background, $multipleField, $colNum, $splY, $splX, $num, $allowEnlargement)
Опис параметрів: Віджет спрацьовує тільки в момент збереження документів (подія «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($roles, $templates, $yearsParents, $dateSource, $yearFields, $monthFields, $yearPublished, $monthPublished, $numericMonth)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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($parent)
Опис параметрів: За замовчуванням позиція меню в MODx для нових документів просто рівна кількості дочірніх документів на одному рівні, що не завжди зручно.
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
parent | ID документа, для дочірніх документів якого повинен застосовуватися віджет. Якщо залишити порожнім (не вказувати), то віджет буде застосований абсолютно до всіх документів. | {integer; ''} | – |
Приклад:
mm_ddFillMenuindex();
Синтаксис: mm_widget_accessdenied($ids, $default, $roles)
Опис параметрів: Наприклад, в батьківському документі викликається сніпет «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');
Синтаксис: mm_ddHTMLCleaner($fields, $roles, $templates, $validAttrsForAllTags, $validStyles, $validAttrs)
Опис параметрів:
Назва | Опис | Допустимі значення | Значення за замовчуванням |
---|---|---|---|
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();