Готовое решение: настройки - визуальный редактор
Форум »

Для одной печатной формы потребовался визуальный редактор в настройках, в WA это не реализовано (вернее там только редактор кода, да и тот не работает из-за бага - <code>textarea</code> https://developers.webasyst.ru/basics/classes/waHt...), вот и пришлось писать самому:
public static function getEditorControl($name, array $params = array()) { $app = wa(); $wa_url = $app->getRootUrl(); $lang = substr($app->getLocale(), 0, 2); $control = '<link rel="stylesheet" href="' . $wa_url . 'wa-content/js/redactor/redactor.css">'; $control .= '<script src="' . $wa_url . 'wa-content/js/redactor/redactor.min.js"></script>'; $control .= '<script src="' . $wa_url . 'wa-content/js/redactor/redactor.plugins.js"></script>'; if ($lang != 'en') { $control .= '<script src="' . $wa_url . 'wa-content/js/redactor/' . $lang . '.js"></script>'; } $control_name = htmlentities($name, ENT_QUOTES, waHtmlControl::$default_charset); $value = htmlentities((string)$params['value'], ENT_QUOTES, waHtmlControl::$default_charset); $attributes = array_flip(array('class', 'style', 'id', 'placeholder')); $control .= '<div style="border:1px solid #ddd"><textarea name="' . $control_name .'"'; foreach (array_intersect_key($params, $attributes) as $key => $val) { $control .= $key . '="' . $val . '"'; } $control .= '>' . $value . '</textarea></div>'; $config = json_encode(array( 'lang' => $lang, 'minHeight' => 400, 'paragraphy' => false, 'convertDivs' => false, 'deniedTags' => false, 'toolbarFixed' => true, 'plugins' => array('fontcolor', 'fontsize', 'fontfamily', 'table'), 'buttons' => array('html', 'formatting', 'bold', 'italic', 'underline', 'deleted', 'unorderedlist', 'orderedlist', 'outdent', 'indent', 'image', 'link', 'table', 'alignment', 'horizontalrule'), 'imageUpload' => '?module=pages&action=uploadimage&filelink=1', )); $control .= '<script>$(function(){$("#' . $params['id'] . '").redactor(' . $config . ')})</script>'; return $control; }
settings.php:
'control_type' => waHtmlControl::CUSTOM . ' shopMyPlugin::getEditorControl',
Спасибо. Пригодится :)