Целый год я ждал в новом визуальном редакторе Битрикс кнопки вставки кода и цитаты, есть соответствующая идея Кнопка вставки кода в визуальный редактор, голосуйте пожалуйста коллеги.
Друзья, данная статья уже не актуальна, есть бесплатный модуль, он установит эти кнопки в редакторе, пользуйтесь!
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},которые и будут инициализировать соответствующие им методы и кнопки в других файлах, рис. 1
{id: 'InsertQuote', compact: false, sort: 255},
Рис. 1
2. Изменения в файле /bitrix/js/fileman/html_editor/html-actions.js
В методе GetActionList: function(){...} в объект this.actions = {} добавим следующие строчки
insertCode: this.GetCode(),которые будут вызывать стандартные обработчики кнопок в визуальном редакторе страниц и инфоблоков, рис. 2
insertQuote: this.GetQuote(),
Рис. 2
3. Изменения в файле /bitrix/js/fileman/html_editor/html-controls.js
Ну и последний штрих, в метод window.BXHtmlEditor.Controls = {} в самом конце добавим две строчки
InsertCode: CodeButton,которые, как я понял, добавляют нужные нам "кнопки вставки кода и цитат" в "новый визуальный редактор Битрикс", рис. 3
InsertQuote: QuoteButton
Рис. 3
На этом все!
Обновите страницу, открывайте любую страницу сайта или элемента инфоблока, хоть в админке, хоть в публичке и там будут наши долгожданные две новые кнопки: "Вставка кода" и "Цитата".
Но к сожалению, после недавних обновлений появился очередной казус, новый визуальный редактор стал подставлять переносы строк между строками кода и отступы слева, и после вставки кода он все равно некрасивый, громоздкий, рис. 4
Рис. 4
Поэтому, в последних двух статьях я попробовал вставлять код цитатами, т.к. цитаты обрабатываются нормально, так тоже красиво получилось, но нет и не будет подсветки кода, так что, это скорее всего временное решение, см. рис. 5
Рис. 5
Заключение
К сожалению я не силен в JavaScript Битрикс, поэтому получилось только такое решение, где нашел, там и сделал, может с этого поста у кого появится идея, достаточно знаний, как сделать универсально, по событиям, чтобы не терять обновления и не изменять системные файлы, все будем счастливы!Помните, если Вы сделаете так на своем сайте:
- то при следующих обновлениях Битрикс эти файлы могут затереться и все опять надо будет сделать заново.
- также Вам техподдержка Битрикс может отказать по любому обращению, если обнаружит какие-то изменения, т.к. вы изменяете ядро Битрикс, системные обновляемые файлы.
Так что, ко мне и к техподдержке Битрикс претензий пожалуйста никаких, данная статья используется Вам на свой страх и риск, никакой ответственности я за это на себя не беру, обновляйтесь реже, дольше будет работать.
Вообще тут делов сейчас на 5 минут, затрутся файлы, опять добавите, манул есть готовый, никаких проблем не вижу, зато это сэкономит Вам уйму времени при написании статей.
p.s. у нас остается универсальный вечный вариант №2, об этом возможно чуть позже напишу, продолжение следует...