0.00
Рейтинг
0.00
Сила

tinymce в комментариях при изменении dom пропадает возможность ввода текста

Всем привет. Может быть кто-то сталкивался или знает в какую сторону копать, подскажите…
На сколько я понимаю, на сайте используется родной функционал комментариев от livestreet.
Есть два варианта работы комментариев:
1. (стабильный) Загружается страница вместе с кнопкой «оставить комментарий». На кнопке висит обработчик — ls.comments.toggleCommentForm(0); Который отправляет к нулевому комментарию по id (отдельно созданный статический блок). Кликаю на кнопку — появляется tinymce, в той конфигурации, что заявлена и все работает. Кликаю на кнопку «ответить» под любым комментарием(ls.comments.toggleCommentForm(id);) — все работает. Текстовое поле перепрыгивает под комментарий.
2. (то что пытаюсь реализовать) загружается страница. В конце своего js указываю вот так:
document.addEventListener("DOMContentLoaded", function(event) {
    ls.comments.toggleCommentForm(0);
});

Если указывать в $(document).ready(); то tinymce загружается в какой-то дефолтной конфигурации, не той, что мне нужно.
Дальше я могу оставить коммент, всё работает, но как только я прячу текстовое поле через
ls.comments.toggleCommentForm(0);

Или пытаюсь «ответить» с ls.comments.toggleCommentForm(id); текстовое поле прыгает и после этого пропадает возможность вводить текст. При клике на кнопки текстового редактора в js появляется ошибка, не может найти ноду. iframe есть, но body пустое и без классов. За счёт чего такое может происходить?

Буду благодарен за любую помощь.

Вызов модального окна

Приветствую всех. Постигла меня ещё одна задача связанная с livestreet.
Необходимо при переходе по ссылке открыть модальное окно.
Единственный вариант, который нашёл — дописать в ссылку /?create_topic=1
В ActionIndex.class делаю проверку:
if(isset($_GET['create_topic'])){
            $this->Viewer_Assign('createTopic', "<script type='text/javascript'>$(document).ready()</script>");
        }


Передаю во вьюшку и там просто делаю {$createTopic}.
Но проблема оказалась в вызове модального окна.

Сейчас это модальное окно вызывается по кликну на кнопку:
<a href="#" onclick="return false" class="userbar__item__link" data-type="modal-toggle" data-modal-url="http://****/suggest/modal"></a>


Сталкивался ли кто-нибудь с этой проблемой? И как лучше решить?

На данный момент пробовал вызывать через .jqm()
Но видно скрипт не успевает отработать вперёд моего вызова и выдаёт:
Uncaught TypeError: undefined is not a function


Так же пробовал через $('.userbar__item__link').click(); Но опять же видно событие не успевает повеситься. А вот после загрузки ресурса, если написать это в консоле, то окно появляется.

Заранее спасибо откликнувшимся

Переопределение конфигурации плагина

Всем привет.
Возник вопрос касательно плагинов и их конфигурации.
Создал плагин. В конфигурации указал
Config::Set('block.rule_subscription', array(
    'action' => array( 'newspaper', 'index', 'topics' ),
    'blocks'  => array(
        'bottom' => array(
            'subscriptionView' => array('params'=>array('plugin'=>'subscription'),'priority'=>700),
        ),
    ),
    'clear' => false,
));
Config::Set('block.rule_subscription_social', array(
    'action' => array( 'newspaper', 'index', 'topics' ),
    'blocks'  => array(
        'bottom' => array(
            'subscriptionViewSocial' => array('params'=>array('plugin'=>'subscription'),'priority'=>700),
        ),
    ),
    'clear' => false,
));


Вывод двух блоков в одном месте.
Но мне нужно выводить эти блоки по очереди. Один раз обновили страницу — один блок. Второй раз обновили другой блок или опять первый.

Я так понял, что в хуке мне необходимо переопределить конфигурацию.

$this->AddHook('template_body_end', 'Subscription');
            $config = Config::Get('block.rule_subscription');
            foreach($config as $sName=>&$aRule){
                if(isset($aRule['blocks']['bottom'])){
                    unset($aRule['blocks']['bottom']);
                }
            }
            Config::Set('block.rule_subscription', $config);


И вот тут я попал в тупик.
Во-первых я не представляю, как обратиться к конфигурации плагина.
Погуглив и прошерстив все блоки я пришёл к выводу, что есть два варианта —
$config = Config::Get('block.rule_subscription');

и
$config = Config::Get('plugin.subscription');

Это первый вопрос.
Следующий вопрос — когда я получу конфигурацию файла — могу ли я сделать вот такую проверку, которая у меня сейчас
if(isset($aRule['blocks']['bottom'])){
                    unset($aRule['blocks']['bottom']);
                }

И исключить эту настройку из конфигурации?
Заранее спасибо за помощь.