Как задать глобальные настройки виджета Yii2?
Есть к примеру такой повторяющийся код.
<?php
echo $form->field($model, 'requirements_ru')->widget(
CKEditor::class,
[
'editorOptions' => [
'preset' => 'standart',
'inline' => false,
],
]
);
?>
<?php
echo $form->field($model, 'requirements_en')->widget(
CKEditor::class,
[
'editorOptions' => [
'preset' => 'standart',
'inline' => false,
],
]
);
?>
<?php
echo $form->field($model, 'conditions_ru')->widget(
CKEditor::class,
[
'editorOptions' => [
'preset' => 'standart',
'inline' => false,
],
]
);
?>
<?php
echo $form->field($model, 'conditions_en')->widget(
CKEditor::class,
[
'editorOptions' => [
'preset' => 'standart',
'inline' => false,
],
]
);
?>
Как глобально указать настройки по умолчанию для определенного типа виджета, для ВСЕГО проекта? Что бы не писать каждый раз.
[
'editorOptions' => [
'preset' => 'standart',
'inline' => false,
],
]
Попытался переопределить настройки через внедрение зависимостей, таким кодом в начале кода формы, но не помогло.
Yii::$container->set('mihaildev\ckeditor\CKEditor', [
'editorOptions' => [
'preset' => 'basic',
'inline' => false,
'height' => 600
],
]);
Ответы (2 шт):
Автор решения: Дмитрий Гвоздь
→ Ссылка
Решил вопрос таким кошерным способом.
Идем в \backend\config\bootstrap.php если например как у меня, надо переопределить поведение виджета для бека.
Прописываем такой код.
Yii::$container->set('mihaildev\ckeditor\CKEditor', [
'editorOptions' => [
'preset' => 'basic',
'inline' => false,
'height' => 200
],
]);
Данный код, через глобальное внедрение зависимостей, установит для всех классов виджета типа mihaildev\ckeditor\CKEditor настройки указанные в параметрах метода set.
Автор решения: pupkinson
→ Ссылка
$config = [
'container' => [
'definitions' => [
'mihaildev\ckeditor\CKEditor' => [
'editorOptions' => [
'preset' => 'basic',
'inline' => false,
'height' => 200
],
]
],
]
];