Кнопка вставки кода и цитаты в новом визуальном редакторе

Целый год я ждал в новом визуальном редакторе Битрикс кнопки вставки кода и цитаты, есть соответствующая идея Кнопка вставки кода в визуальный редактор, голосуйте пожалуйста коллеги.

Друзья, данная статья уже не актуальна, есть бесплатный модуль, он установит эти кнопки в редакторе, пользуйтесь!
TS Кнопки кода и цитаты в визуальном редакторе 3.0

1. Добавим свои кнопки в новом визуальном редакторе Битрикс

Все изменения сделал в трех скриптах нового визуального редактора:
/bitrix/js/fileman/html_editor/html-base-controls.js
/bitrix/js/fileman/html_editor/html-actions.js
/bitrix/js/fileman/html_editor/html-controls.js

1. Изменения в файле  /bitrix/js/fileman/html_editor/html-base-controls.js

В методе GetControlsMap: function(){...} в массив res[] добавим две строчки:
{id: 'InsertCode', compact: false, sort: 255},
{id: 'InsertQuote', compact: false, sort: 255},
которые и будут инициализировать соответствующие им методы и кнопки в других файлах, рис. 1

html-base-controls.js
Рис. 1



2. Изменения в файле  /bitrix/js/fileman/html_editor/html-actions.js

В методе  GetActionList: function(){...} в объект this.actions = {}  добавим следующие строчки
insertCode: this.GetCode(),
insertQuote: this.GetQuote(),
которые будут вызывать стандартные обработчики кнопок в визуальном редакторе страниц и инфоблоков, рис. 2

html-actions.js
Рис. 2



3. Изменения в файле  /bitrix/js/fileman/html_editor/html-controls.js

Ну и последний штрих, в метод window.BXHtmlEditor.Controls = {}  в самом конце добавим две строчки
InsertCode: CodeButton,
InsertQuote: QuoteButton
которые, как я понял, добавляют нужные нам "кнопки вставки кода и цитат" в  "новый визуальный редактор Битрикс", рис. 3

html-controls.js
Рис. 3



На этом все!

Обновите страницу, открывайте любую страницу сайта или элемента инфоблока, хоть в админке, хоть в публичке и там будут наши долгожданные две новые кнопки: "Вставка кода" и "Цитата".
Кнопки вставки кода и цитат в новый визуальный редактор Битрикс



Но к сожалению, после недавних обновлений появился очередной казус, новый визуальный редактор стал подставлять переносы строк между строками кода и отступы слева,  и после вставки кода он все равно некрасивый, громоздкий, рис. 4

Рис. 4

Поэтому, в последних двух статьях я попробовал вставлять код цитатами, т.к. цитаты обрабатываются нормально, так тоже красиво получилось, но нет и не будет подсветки кода, так что, это скорее всего временное решение, см. рис. 5

Рис. 5


Заключение

К сожалению я не силен в  JavaScript Битрикс, поэтому получилось только такое решение, где нашел, там и сделал, может с этого поста у кого появится идея, достаточно знаний, как сделать универсально, по событиям, чтобы не терять обновления и не изменять системные файлы, все будем счастливы!

Помните, если Вы сделаете так на своем сайте:
  • то при следующих обновлениях Битрикс эти файлы могут затереться и все опять надо будет сделать заново.
  • также Вам техподдержка Битрикс может отказать по любому обращению, если обнаружит какие-то изменения, т.к. вы изменяете ядро Битрикс, системные обновляемые файлы.

Так что, ко мне и к техподдержке Битрикс претензий пожалуйста никаких, данная статья используется Вам на свой страх и риск, никакой  ответственности я за это на себя не беру, обновляйтесь реже, дольше будет работать.
Вообще тут делов сейчас на 5 минут, затрутся файлы, опять добавите, манул есть готовый, никаких проблем не вижу, зато это сэкономит Вам уйму времени при написании статей.


p.s. у нас остается универсальный вечный вариант №2, об этом возможно чуть позже напишу, продолжение следует...
Имя *
Логин (мин. 3 символа)
E-mail *
*— обязательные для заполнения поля
Логин или e-mail
TUNING-SOFT.RU Разработка умных веб-сервисов