Кажется, вы не можете просто добавить его обычным способом. Но вы можете реализовать это следующим образом.
Прежде всего, используйте тип поля textareaLang
вместо textarea
и добавьте параметр 'validation' => 'isCleanHtml'
в это поле
$this->fields_options['contact']['fields']['PS_CONTACT_ADDITIONAL_INFO'] = array(
'type' => 'textareaLang',
'label' => $this->l('Short description'),
'name' => 'short_description',
'lang' => true,
'cols' => 60,
'rows' => 10,
'col' => 6,
'validation' => 'isCleanHtml'
);
Создайте свой собственный скрипт для инициализации вашего редактора. Я создал скрипт tinymce.init.js
и поместил его в папку js/admin/
$(document).ready(function(){
ad = ''; // this is defenition of the external plugin path. I didn't fint how it can impact on script if it's empty but by default it it the path to your admin folder
iso = iso_user;
var config = {
selector: '.textarea-autosize'
};
tinySetup(config);
});
Затем включите сценарий tinymce и свой собственный для этого контроллера AdminPreferencesController.php
public function setMedia()
{
$this->context->controller->addJquery();
$this->context->controller->addJS(
array(
_PS_JS_DIR_.'admin/tinymce.init.js',
_PS_JS_DIR_.'tiny_mce/tiny_mce.js',
_PS_JS_DIR_.'admin/tinymce.inc.js'
)
);
parent::setMedia();
}
Это должно соответствовать вашим требованиям. Но не забывайте, что теперь вы должны вызывать ваше поле конфигурации в многоязычной области. Итак, добавьте идентификатор языка в Configuration::get()
как
Configuration::get('PS_CONTACT_ADDITIONAL_INFO, $id_lang)
всякий раз, когда вы используете его.
P.S. Имейте в виду, что лучшим решением для вашей цели является создание простого модуля, который справится с этим. И гораздо больше, это рекомендуемый способ.