Решения CKEditor

06 Августа 2020 14:33

Присваиваем таблице класс при ее создании

Во многих случаях может понадобиться при создании таблицы в CKEditor присвоить како-либо класс, чтобы таблица соответствовала какому-то виду. Сделать это можно через дополнительный плагин или через корневой файл ckeditor.js (поскольку, работа с таблицами встроена в базовую сборку CKEditor).

Открываем файл ckeditor.js. Если он минифицирован то конвертируем его в нормальный через любой онлайн форматтер.

Далее, на 23262 строке идет добавление функционала table как плагина

CKEDITOR.plugins.add("table", {
    requires: "dialog",
    init: function(a) {
      function f(c) {
        return CKEDITOR.tools.extend(c || {}, {
          contextSensitive: 1,
          refresh: function(c, b) {
            this.setState(b.contains("table", 1) ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED)
          }
        })
      }
      ...

А на 23396 строке располагается конфиг для вновьсоздаваемой таблички:

var d = f.config,
	n = d.qtRows || 8,
	o = d.qtColumns || 10,
	t = d.qtBorder || "1",
	v = d.qtStyle || null,
	u = d.qtClass || "",
	r = d.qtCellPadding ||
	  "1",
	s = d.qtCellSpacing || "1",
	w = d.qtWidth || "500px",
	p = d.qtPreviewSize || "14px",
	y = d.qtPreviewBorder || "1px solid #aaa",
	z = d.qtPreviewBackground || "#e5e5e5";
l = k = -1;

Вот здесь переменная u, где указан qtClass отвечает за класс. Между кавычками можно вписать любой свой класс и он будет присвоен при создании таблицы.