В обновлении 7.1.5 от 19.08.2025 г. добавлена возможность выбрать визуальный редактор, который будет использоваться при редактировании документов, товаров и т.д.
Также можно добавить свой. Запись о новом визуальном редакторе добавится в БД, но файлы можно редактировать только через файловый менеджер.
Устраняем эту несправедливость.
Добавить код в bootstrap.php
Core_Event::attach('Admin_Form_Action_Controller_Type_Edit.onAfterApplyObjectProperty', function (Admin_Form_Action_Controller_Type_Edit $oController, $args = []) { list($oAdmin_Form_Controller) = $args; if ($oController instanceof Wysiwyg_Controller_Edit) { /** @var Wysiwyg_Model $oWysiwyg */ $aInputFiles = Core_Array::getPost('inputfile', []); if (count($aInputFiles)) { $oWysiwyg = $oController->getObject(); $sPath = CMS_FOLDER . 'modules/wysiwyg/driver/' . $oWysiwyg->driver . '/'; foreach ($aInputFiles as $file => $sContent) { $filePath = Core_File::pathCorrection($sPath . DIRECTORY_SEPARATOR . $file); Core_File::write($filePath, $sContent); } } }});Core_Event::attach('Admin_Form_Action_Controller_Type_Edit.onAfterRedeclaredPrepareForm', function (Admin_Form_Action_Controller_Type_Edit $oController, $args = []) { if ($oController instanceof Wysiwyg_Controller_Edit) { /** @var Wysiwyg_Model $oWysiwyg */ list($oWysiwyg, $oAdmin_Form_Controller) = $args; $sPath = CMS_FOLDER . 'modules/wysiwyg/driver/' . $oWysiwyg->driver . '/'; $oAdditionalTab = $oController->getTab('additional'); $aFiles = ['handler.php', 'wysiwyg.js']; foreach ($aFiles as $file) { $filePath = Core_File::pathCorrection($sPath . DIRECTORY_SEPARATOR . $file); $ext = Core_File::getExtension($file); $oTab = Admin_Form_Entity::factory('Tab'); $oTab->name = $file; $oTab->caption = $file; $oRow = Admin_Form_Entity::factory('div')->class('row'); $oTextarea = Admin_Form_Entity::factory('textarea'); $mode = 'php'; if ($ext == 'js') { $mode = 'javascript'; } $sContent = Core_File::isFile($filePath) ? Core_File::read($filePath): ''; $oTextarea ->value($sContent) ->rows(30) ->caption($file) ->name("inputfile[{$file}]") ->syntaxHighlighter(defined('SYNTAX_HIGHLIGHTING') ? SYNTAX_HIGHLIGHTING : TRUE) ->syntaxHighlighterMode($mode) ->divAttr(array('class' => 'form-group col-xs-12')); $oRow->add($oTextarea); $oTab->add($oRow); $oController->addTabBefore($oTab, $oAdditionalTab); } }});