public static function render($element_param, $key, $value, $obj_data, $params) { $element = array(); $element[] = $params['label_begin']; $element[] = joosHtml::label(array('for' => $key), $element_param['name']); $element[] = $params['label_end']; $element[] = $params['el_begin']; $editor_params = array('editor' => isset($element_param['html_edit_element_param']['editor']) ? $element_param['html_edit_element_param']['editor'] : 'elrte', 'rows' => isset($element_param['html_edit_element_param']['rows']) ? $element_param['html_edit_element_param']['rows'] : null, 'cols' => isset($element_param['html_edit_element_param']['cols']) ? $element_param['html_edit_element_param']['cols'] : null, 'width' => isset($element_param['html_edit_element_param']['width']) ? $element_param['html_edit_element_param']['width'] : '"98%"', 'height' => isset($element_param['html_edit_element_param']['height']) ? $element_param['html_edit_element_param']['height'] : '200px'); $element[] = joosEditor::display($key, $value, $editor_params); $element[] = $params['el_end']; joosAutoadmin::add_js_onformsubmit(joosEditor::get_content($key)); return implode("\n", $element); }
/** * Инициализация редактора * * @param string $field_name название поля с текстом, на котором должен быть инициализирован редактоор * @param string $content текст содержимого редактора * @param array $params массив настроек редактора * * @return mixed возвращает код инициализации редактора, либо полный код инициализации и комплекта необходимого HTML кода */ public static function display($field_name, $content, array $params = array()) { $hiddenField = isset($params['hiddenField']) ? $params['hiddenField'] : $field_name; $width = isset($params['width']) ? $params['width'] : '100%'; $height = isset($params['height']) ? $params['height'] : 300; $col = isset($params['col']) ? $params['col'] : 10; $row = isset($params['row']) ? $params['row'] : 5; // попытаемся переопределить редактор если это указано в параметрах self::$editor = isset($params['editor']) ? $params['editor'] : self::$editor; // файл используемого визуального редактора $editor_file = JPATH_BASE . DS . 'app' . DS . 'plugins' . DS . 'editors' . DS . self::$editor . DS . self::$editor . '.php'; if (joosFile::exists($editor_file)) { require_once $editor_file; } else { return sprintf('<!-- %s jooEditor::' . self::$editor . ' -->', 'Не найден редактор:'); } $editor_class = 'pluginEditor' . joosInflector::camelize(self::$editor); // инициализация редактора !isset(self::$init[self::$editor]) ? call_user_func_array("{$editor_class}::init", array($params)) : null; self::$init[self::$editor] = true; // непосредственно область редактора return call_user_func_array("{$editor_class}::display", array($field_name, $content, $hiddenField, $width, $height, $col, $row, $params)); }