У меня проблемы с переводом на работу.
[https://imperavi.com/redactor/ Версия 3, Yii 2.0.12, PHP 7.1.16]Вот мой код в yii2 (php framework):
use yii\easyii\widgets\Redactor;
use yii\widgets\ActiveForm;
...
<?= $form->field($model, "content")->widget(Redactor::className(),[
'options' => [
'id'=>"redactor",
'minHeight' => 200,
'imageUpload' => Url::to(['/admin/redactor/upload'], true),
'buttons' => ['html', 'formatting', 'bold', 'italic', 'deleted', 'unorderedlist', 'orderedlist', 'outdent', 'indent', 'alignment', 'horizontalrule', 'link', 'image', 'file','clips'],
'plugins' => ['fontcolor', 'fontfamily', 'fontsize', 'table','clips','filemanager','imagemanager','alignment','fullscreen','video','widget'],
'maxHeight' => 500,
'placeholder' => 'Skriv inn, eller lim inn kopiert tekst og/eller bilder her..',
'toolbarFixed',
'lang' => 'no',
'clickToEdit' => true,
'clickToCancel'=> ['title'=> 'Avbryt'],
],
])->label(false) ?>
Вот что он генерирует:
jQuery('#notes-content').redactor({
"imageUpload":"http://byggmannkalk.no/admin/redactor/upload",
"fileUpload":"/admin/redactor/upload","id":"redactor",
"minHeight":200,
"buttons":["html","formatting","bold","italic","deleted","unorderedlist","orderedlist","outdent","indent","alignment","horizontalrule","link","image","file","clips"],
"plugins":["fontcolor","fontfamily","fontsize","table","clips","filemanager","imagemanager","alignment","fullscreen","video","widget"],
"maxHeight":500,
"placeholder":"Skriv inn, eller lim inn kopiert tekst og/eller bilder her..",
"0":"toolbarFixed",
"lang":"nb",
"clickToEdit":true,
"clickToCancel":{"title":"Cancel"},
"imageUploadErrorCallback":function(json){alert(json.error);},
"fileUploadErrorCallback":function(json){alert(json.error);}
});
Языковые файлы дают мне ошибку консоли:
VM2426:2 Uncaught TypeError: Cannot read property 'opts' of undefined
at eval (eval at globalEval (jquery.js?v=1523865201:343), <anonymous>:2:13)
at eval (eval at globalEval (jquery.js?v=1523865201:343), <anonymous>:74:3)
at eval (<anonymous>)
at Function.globalEval (jquery.js?v=1523865201:343)
at text script (jquery.js?v=1523865201:9208)
at ajaxConvert (jquery.js?v=1523865201:8243)
at done (jquery.js?v=1523865201:8707)
at XMLHttpRequest.<anonymous> (jquery.js?v=1523865201:9123)
at XMLHttpRequest.send (catcher.js:197)
at Object.send (jquery.js?v=1523865201:9175)
Что указывает на мой языковой файл:
(function ($) {
$.Redactor.opts.langs['nb'] = {
html: 'HTML',
....
filename: 'Filnavn (valgfritt)',
edit: 'Endre',
center: 'Midten'
};
})(jQuery);
Можно ли изменить мое создание экземпляра редактора так, чтобы он добавлял его в $, а не только в for $ (‘# notes-content’)?
Есть ли параметр, который мне не хватает?
Языковые файлы будут использоваться во многих местах программы, где используется Redactor, поэтому я не хочу их изменять.
Спасибо за любую помощь.
Ps. Я заметил на демонстрационном сайте (https://imperavi.com/redactor/examples/language/translations/) что они изменили языковой файл:
(function($R)
{
$R.lang['fi'] = {
...
"redo": "Redo"};
})(Redactor);
Задача ещё не решена.
Других решений пока нет …