CKEditor добавление class к элементу плагина

Нужна помощь в конфиге редактора.
В него установлен плагин для добавления видео по ссылке с ютуба, все работает за исключением того, что эта падла заворачивает все в DIV и не присваивает стиль, в итоге видеозапись закрывает текстовую информацию на сайте, вот в этот div кстати:

(div data-oembed-url=«www.youtube.com/watch?v=4444444») (/div)

нашел в настройках файла ckeditor.js код отвечающий за интеграцию плагина и присвоению ему «data-oembed-url»

(function() {
CKEDITOR.plugins.add(«embed», {
requires: «embedbase»,
init: function(b) {
var c = CKEDITOR.plugins.embedBase.createWidgetBaseDefinition(b);
CKEDITOR.tools.extend(c, {
dialog: «embedBase»,
button: b.lang.embedbase.button,
allowedContent: «div[!data-oembed-url]»,
requiredContent: «div[data-oembed-url]»,
providerUrl: new CKEDITOR.template(b.config.embed_provider || "//ckeditor.iframe.ly/api/oembed?url\x3d{url}\x26callback\x3d{callback}"),
styleToAllowedContentRules: function(a) {
return {
div: {
propertiesOnly: !0,
classes: a.getClassesArray(),
attributes: "!data-oembed-url"
}
}
},
upcast: function(a, b) {
if («div» == a.name && a.attributes[«data-oembed-url»]) return b.url = a.attributes[«data-oembed-url»], !0
},
downcast: function(a) {
a.attributes[«data-oembed-url»] = this.data.url
}
}, !0);
b.widgets.add(«embed», c);
b.filter.addElementCallback(function(a) {
if («data-oembed-url» in a.attributes) return CKEDITOR.FILTER_SKIP_TREE
})
}
})
})

, т.к. в яваскрипте не оч я разбираюсь, пробовал воткнуть практически в каждую строку addClass: «class» и ничего из этого не вышло.
Может кто ковырял этот редактор и знает куда нужно нажать, чтобы все заработало?
НаписалаватарOcean
1431

3 комментария

  • аватар Ocean
  • 0
Нашел решение
downcast: function(a) {
a.attributes[«data-oembed-url»] = this.data.url
//a.attributes[«class»] = «ckvideoembed»; — просто дописать вот эту строку
}
Может пригодиться кому
  • аватар ololo
  • 0
только заметил вопрос.
тут можно оборачивать код тегом <code> и тогда он булет правильно форматироваться:
downcast: function(a) {
a.attributes["data-oembed-url"] = this.data.url
//a.attributes["class"] = "ckvideoembed"; — просто дописать вот эту строку
}
  • аватар Ocean
  • 0
Буду знать, спасибо!

Чтобы оставлять комментарии, нужно или зарегистрироваться.