reload, порядок действий для подключения редактора Live к текстовому виджету:
1. файл /templates/default/controllers/admin/widgets.tpl.php
после строк подключения Redactor добавляем две строки
cmsTemplate::getInstance()->addJS("wysiwyg/live/scripts/language/".cmsConfig::get('language')."/editor_lang.js", 'LiveEditor Lang');
cmsTemplate::getInstance()->addJS('wysiwyg/live/scripts/innovaeditor.js', 'LiveEditor');
2. файл /system/widgets/text/options.form.php
заменяем в строке 'options' => array('editor' => 'redactor'), слово redactor на live
3. файл /wysiwyg/live/wysiwyg.class.php
перед строкой <script type="text/javascript">
пишем <div id="mwe"></div>
заменяем строку le_<?php echo $dom_id; ?>.REPLACE('<?php echo $dom_id; ?>');
на le_<?php echo $dom_id; ?>.REPLACE('<?php echo $dom_id; ?>', 'mwe');
4. файл /templates/default/assets/ui/form.tpl.php
перед формой пишем код
foreach($form->getStructure() as $num => $tmp)
{
if($num == 0)
{
$editor = $tmp['childs'][0]->options['editor'];
if($editor != 'live')
{
$editor = false;
}
break;
}
}
заменяем строку onsubmit="return icms.forms.submitAjax(this)"
на onsubmit="return icms.forms.submitAjax(this, '<?php echo $editor?>')"
5. файл /templates/default/js/core.js
меняем строки
this.submitAjax = function(form){
var form_data = this.toJSON($(form));
var url = $(form).attr('action');
на следующие
this.submitAjax = function(form, editor=false){
if(editor){
var form_data = 'csrf_token='+document.getElementsByName('csrf_token')[0].value
+'&id='+document.getElementsByName('id')[0].value
+'&title='+encodeURI(document.getElementById('title').value)
+'&options%5Bcontent%5D='+encodeURI(document.getElementById('options_content').value);
var url = document.forms[0].action;
}
else{
var form_data = this.toJSON($(form));
var url = $(form).attr('action');
}
P.S. Данный способ будет работать под Firefox и представлен здесь лишь в качестве примера.
P.P.S. Проверял на версии 2.1.1, которую скачал пару-тройку часов назад.