Отображаем вкладки для редактирования обработчиков визуальных редакторов

В обновлении 7.1.5 от 19.08.2025 г. добавлена возможность выбрать визуальный редактор, который будет использоваться при редактировании документов, товаров и т.д.

Также можно добавить свой. Запись о новом визуальном редакторе добавится в БД, но файлы можно редактировать только через файловый менеджер.

Устраняем эту несправедливость.

Добавить код в bootstrap.php

Copy
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);		}	}});

03.02.2026