как известно для того, чтоб для своего типа контента сделать шаблон достаточно вместо default указать название в латинице типа контента, например
doska_item.tpl
Но встает иногда потребность формировать вывод в записи со своим оформлением и нужно вывести отдельно переменную пропарсенную шаблонизатором (например вывод скачать файл или выпадающий список и т.п.)
Тупой вывод переменных возможен через $item. например $item['title'] или $item['nazvsnie_polya_na_latinice']
Но это позволяет выводить без форматирования, запись как есть.
Как можно вывести именно форматированные переменные конкретные которые нужны?
$fields['title']['html']
В шаблонах ..._item.tpl.php можно так
$fields['title']['html']
не совсем
title передается просто, а вот поля созданные своими получаем вот такую котовасию:
$fields_fieldsets = cmsForm::mapFieldsToFieldsets($fields, function($field, $user) use ($item) { if (!$field['is_in_item'] || $field['is_system']) { return false; } if ($field['groups_read'] && !$user->isInGroups($field['groups_read'])) { return false; } return true; } ); echo $fields_fieldsets[3]['fields'][1]['title']; echo $fields_fieldsets[3]['fields'][1]['html'];
где 3 это группировка полей (Группа в типах контента)
1 это очередность в группе полей поля.
Только таким образом получил название поля и вывод в обработке.
Да есть проще вариант echo $fields[file][html]; это если нужно поле а группировка не нужна для вывода.
В догонку чтоб не забыть:
вывод поля с предустановленными значениями в виджетах.
Если требуется вывести с установленными значениями из которых потом выбирается значение, то
$item['imya_peremennoi']=$item['imya_peremennoi']-1; // массив надо начинать с 0, а он идет с 1.
$item['imya_peremennoi'] — это прямое значение поля в базе.
В скрипте мы делаем массив из предустановленных значений разбитых Ентером, и ассоциируем с значением из базы.