mm_ddMultipleFields

Plugin
  • Версия: 4.5.1
  • Выпущено:
  • Метки: Manager
  • Использует:
Скачать 945 скачиваний

Описание

Виджет для плагина ManagerManager, позволяющий добавлять произвольное количество значений полей (TV) к одному документу (значения записываются в одно через необходимые разделители), например: несколько изображений. Возможности:

  • Добавление к одному документу произвольного количества изображений, текстовых полей, списков (с возможностью выбора значений).
  • Задание нескольких колонок разных типов (или одинаковых), например: изображения и подписи к ним (параметр «coloumns»).
  • Вывод заголовков колонок (параметр «coloumnsTitle»).
  • Количество значений (строк) может быть как фиксированным, динамичным, так и в определённых диапазонах (параметры «minRow» и «maxRow»).
  • Сортировка (перетаскивание) строк между собой.
  • Генерация уникального идентификатора каждой строки (параметр «coloumns»).
  • Вывод предопределённых списков значений (параметры «coloumns» и «coloumnsData»). Внимание, это пока в бете!

Скриншоты

A few imagesImages with titlesSorting

Список изменений

  • Плагин «$.fn.mm_ddMultipleFields» обновлён до 1.0.1:
  • «richtext/index.php»:
    • Убран лишний слэш при подключении системных файлов.
    • Файл «manager/includes/protect.inc.php» подключается перед подключением «manager/includes/config.inc.php».
    • Вместо константы «MODX_MANAGER_PATH» для подключения необходимых файлов испольузется относительный путь и константа «MGR_DIR» (полезно, в случае, если сайт лежит не в «$_SERVER['DOCUMENT_ROOT']»).

Документация

Для установки распакуйте архив в /assets/plungins/managermanager/widgets/. Смотрите также документацию ManagerManager 0.6, модуль ddMMEditor и сниппет 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}

Примеры

Сделать возможность добавления произвольного изображений для tv «someImage» (у tv должен быть выставлен тип «image»)

mm_ddMultipleFields('someImage');

Возможность добавления изображений и подписей к ним, вывод соответствующих заголовков только для шаблонов с id = 5

mm_ddMultipleFields('someImage', '', '5', 'field,text', 'Изображение,Подпись');

Возможность добавления контактов сотрудников, но не более 5 и не меньше 2, с разными размерами колонок (для текстовой tv «employees»)

mm_ddMultipleFields(
	'employees', //tvs
	'', //roles
	'', //templates
	'text,text,text', //columns
	'Имя,Телефон,Должность', //columnsTitle
	'250,100,100', //colWidth
	'||', //splY
	'::', //splX
	300, //imgW
	100, //imgH
	2, //minRow
	5 //maxRow
);

Колонка с типом «select»

mm_ddMultipleFields(
	'specifications', //tvs
	'', //roles
	'', //templates
	'text,select', //columns
	'Значение,Единица измерения', //columnsTitle
	'50,200', //colWidth
	'||', //splY
	'::', //splX
	'', //imgW
	'', //imgH
	'', //minRow
	'', //maxRow
	'||[["value1","title1"],["value2","title2"]]' //columnsData
);