Enhance ddMultipleFields

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

mm_ddMultipleFields($tvs, $roles, $templates, $columns, $columnsTitle, $colWidth, $splY, $splX, $imgW, $imgH, $minRow, $maxRow, $columnsData, $options);

Возможности:

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

Описание параметров

Название Описание Допустимые значения Значение по умолчанию Обязателен?
tvs Имена TV, для которых необходимо применить виджет. {comma separated string} true
roles Роли, для которых необходимо применить виждет, пустое значение — все роли. {comma separated string} false
templates Id шаблонов, для которых необходимо применить виджет, пустое значение — все шаблоны. {comma separated string} false
columns Типы колонок: field — колонка типа поля; text — текстовая колонка; textarea — колонка с многострочным полем; richtext — колонка с HTML-редактором (TinyMCE); date — колонка с датой; id — скрытая колонка с уникальным идентификатором; select — список с выбором значений (см. параметр «coloumnsData»). {comma separated string} 'field' false
columnsTitle Заголовки колонок. После двойного двоеточия можно указать подсказку колонки {comma separated string} false
colWidth Ширины колонок, через запятую. Можно указать auto. Если для колонки не будет указано, примет значение последней указанной {comma separated string} 180 false
splY Разделитель между строками. {string} '||' false
splX Разделитель между колонками. {string} '::' false
imgW Максимальная ширина превьюшки (для изображений). {integer} 300 false
imgH Максимальная высота превьюшки (для изображений). {integer} 100 false
minRow Минимальное количество строк. {integer} 0 false
maxRow Максимальное количество строк (0 — без лимита). {integer} 0 false
columnsData Список возможных значений для полей в формате json, через ||. Для каждого пункта массив: Значение, описание и флаг по умолчанию {separated string} false
options Дополнительные параметры: sortable:false - позволяет отключить возможность сортировки,showIndex - отобразить порядковые номера строк,btnToggleRaw - кнопка включения/выключения оригинального поля, что дает возможность скопировать и вставить все значение {php Array or JSON string} {sortable:true, showIndex:true, btnToggleRaw:false} false

Примеры

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

mm_ddMultipleFields('someImage');

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

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

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

mm_ddMultipleFields('employees', '', '', 'text,text,text', 'Имя,Телефон,Должность', '250,100,100', '||', '::', 300, 100, 2, 5);

Подсказки для заголовков, Списки возможных значений (в данном примере для обоих селектов одинаковый выбор), с указанием значения по умолчанию

mm_ddMultipleFields("socialwidgets",'','','select,select',
    'Поделиться::Используется чанк {{share}},Комментарии::Используется чанк  {{comments}}',
    'auto','||','::','','',1,1,
    '[["",""],[0,"Нет"],[1,"Да"],[2,"Да, кроме контейнеров",1]]'
);

Изображения, пакетное заполнение

mm_ddMultipleFields('gallery', '', '', 'image,text,text', 'Изображение,Название,Описание');

Дополнительные опции: Отображение кнопки RAW

mm_ddMultipleFields('gallery', '', '', 'image,text,text', 'Изображение,Название,Описание','180','||','::','','',0,0,'',"{btnToggleRaw:true}");
Mem: 3.5 mb, MySQL: 0.0027 s, 2 req., PHP: 0.0398 s, all: 0.0425 s, cache.