dosamigos\tinymce\TinyMce в модальном окне

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

dosamigos\tinymce\TinyMce в модальном окне

Сообщение ddmitrenko »

Здравствуйте. Хочу использовать данный плагин в модальном окне.

Код: Выделить всё

$field->widget(TinyMce::className(), [
                'options' => ['rows' => 6],
                'language' => 'ru',
                'clientOptions' => [
                    'plugins' => [
                        'advlist autolink lists link charmap hr preview pagebreak',
                        'searchreplace wordcount visualblocks visualchars code fullscreen nonbreaking',
                        'save insertdatetime template paste',
                    ],
                    'toolbar' => 'undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify '
                    . '| bullist numlist outdent indent | preview',
                    'removed_menuitems'=> 'newdocument, preview',
                    'statusbar' => false,
                    'language_url'=>$bundle->baseUrl."/js/tiny_mce_ru.js"
                ]
            ]);
Первый вызов окна (формы) - плагин отрабатывает успешно, второй и далее - не загружается. Если при закрытии модального окна ставлю tinymce.remove(); - после этого в плагине нет редактируемой строки. После перезагрузки страницы - все повторяется снова. Как заставить плагин инициализироваться при загрузке формы?
С уважением, Дмитрий.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение yiiliveext »

Полный код приводите. Сам по себе нормально редактор в модальном окне работает.
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение ddmitrenko »

yiiliveext писал(а): 2019.11.19, 19:16 Полный код приводите. Сам по себе нормально редактор в модальном окне работает.
Полный код формы привести не могу - она динамическая.
С уважением, Дмитрий.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение yiiliveext »

Не грузите повторно динамическую форму, если она уже загружена.
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение ddmitrenko »

Форма ведь динамическая и проверять какие поля в нее загружены, а какие нет - проблематично. Неужели нет возможности заставить работать плагин? В инете есть описание данной проблемы, но предложенные решения почему-то не помогают. (
С уважением, Дмитрий.
yiiliveext
Сообщения: 910
Зарегистрирован: 2019.08.13, 01:49

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение yiiliveext »

Непонятно что у вас имеется в виду под динамической формой. Она загружается в модальное окно через ajax? Если да, то вы каждый раз при открытии заменяете содержимое окна, конечно будет пропадать содержимое текстариа. Если еще что-то под этим - надо смотреть, без кода решить проблему сложно.
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение ddmitrenko »

Динамическая форма - форма в которой количество, тип полей и action меняется динамически :) И форма соответственно грузится с помощью ajax.
С уважением, Дмитрий.
ddmitrenko
Сообщения: 82
Зарегистрирован: 2015.02.04, 16:31

Re: dosamigos\tinymce\TinyMce в модальном окне

Сообщение ddmitrenko »

Решение для меня получилось таким.
1. Отнаследоваться от dosamigos\tinymce\TinyMce
2. Изменить регистрацию tinymcу - обернуть init в function() {}

Код: Выделить всё

        $js_code = "function startTiny(){" . implode("\n", $js) . "}; $(function () { startTiny();});";
        $view->registerJs($js_code, \yii\web\View::POS_LOAD);
Вероятно не успевал полностью формироваться DOM до запуска init
С уважением, Дмитрий.
Ответить