оказалось все проще создал свой компонент по аналогии с bootstrap4 и там свои кухи создал, чуть позже опишу решение может кому пригодится
Добавлено спустя Только что
Посмотрите как добавлено описание в форму виджета в моем небольшом компоненте instantcms.ru/forum/kak-dobavit-tekstovoe-pole-s-redaktorom-dlja-opisanija-v-vidzhet.html#post-364923
благодарю, сейчас посмотрю
Добавлено спустя 12 часов
Посмотрите как добавлено описание в форму виджета в моем небольшом компоненте
не работает ни ваш вариант ни мой, вернее в админке в виджете все поля выводятся, а в шаблоне нет пробовал ваш вариант вывести во wrapper.tpl.php
<?php if(!empty($widget['description'])){ ?> <div><?php html($widget['description']); ?></div>
<?php } ?>
ничего не выводит, свой вариант сделал в компоненте файл widget_menu_form.php
<?php
class onThemeWidgetMenuForm extends cmsAction {
public function run($_data){
list($form, $widget, $widget_object, $template_name) = $_data;
$template = new cmsTemplate($template_name);
$manifest = $template->getManifest();
if(empty($manifest['properties']['vendor'])){ return $_data;
}
// Нам нужны только шаблоны нашей темы
if($manifest['properties']['vendor'] !== 'theme'){
return $_data;
}
// УДАЛЯЕМ поле options:class из секции menu_options
//$form->removeField('menu_options', 'options:class');
// Добавляем новое поле
$form->addField('menu_options', new fieldString('options:class_custom', [
'title' => 'CSS класс меню',
'hint' => ''
]));
return [$form, $widget, $widget_object, $template_name];
}
}
в файле templates\desktop\assets\ui\menu.tpl.php вывожу как
<ul class="<?php echo $class_custom; ?>"> и дальше меню из шаблона default
получаю ошибку неизвестная переменная (( как выводить не понятно