Віджети

    ManagerManager: Віджети

    Віджети плагіну 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 Типи колонок:
    • field – колонка типу поля;
    • text – текстова колонка;
    • textarea – колонка з багаторядковим полем;
    • richtext – колонка з HTML-редактором (TinyMCE);
    • date – колонка з датою;
    • id – прихована колонка з унікальним ідентифікатором;
    • select – список з вибором значень (см. параметр «coloumnsData»).
    {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' – пропорційно зменшити, заповнюючи утворені поля кольором («background»).
    {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();