Мне бы создать несколько файлов в систем и темплет и показать где что править в последующих шаблонах и куда вставлять то что хочу вывести
Да простит меня Fuze)) Вырезка из поля навигации. Создаем в папке system/fields файл mtfield.php с таким содержимым:
<?php class fieldMtfield extends cmsFormField {
public $title = 'Поле с разными шаблонами';
public $sql = 'TINYINT(1) UNSIGNED NULL DEFAULT 1';
public $is_virtual = true;
public $allow_index = false;
public function getOptions() {
return [
new fieldList('template', [
'title' => 'Шаблон для вывода',
'hint' => 'Файл из директории assets/fields/ шаблона, название которого начинается на mtfield',
'generator' => function () {
$current_tpls = cmsCore::getFilesList('templates/' . cmsConfig::get('template') . '/assets/fields/', 'mtfield*.tpl.php');
$default_tpls = cmsCore::getFilesList('templates/default/assets/fields/', 'mtfield*.tpl.php');
$items = [];
if ($tpls) {
foreach ($tpls as $tpl) {
}
}
return $items;
}
])
];
}
public function parse($value) {
$current_date = date('d.m.Y H:i:s'); $template = cmsTemplate::getInstance();
return $template->renderFormField($this->getOption('template'), [
'value' => $value, // здесь передаем в шаблон любые значения, их можно получить выше перед $template
'date' => $current_date // в шаблоне будет использоваться переменная $date
]);
}
public function getInput($value) {
return '';
}
public function store($value, $is_submitted, $old_value = null) {
return 1;
}
}
Теперь в папке templates/default/assets/fields создайте файл mtfield.tpl.php — в нем уже любой html-php код, mtfield_date.tpl.php, mtfield_abrakadabra.tpl.php и т.д. Вот пример содержимого в файле mtfield_date.tpl.php:
содержимое шаблона date<br><?php echo $date;
Вот и все дела. Вот тут пример: nifigasse.ru/board/10-mustang.html