Тоже возникла необходимость изменять состав кнопок редактора. Присоединяюсь к вопросу, так как [B]нормального решения не нашёл[/B]:
События - не вариант. В старом редакторе можно повесить обработчики [URL=https://dev.1c-bitrix.ru/api_help/fileman/events/index.php]событий на вывод JS-файлов редактора[/URL] (самое ценное из которых - [URL=https://dev.1c-bitrix.ru/api_help/fileman/events/onbeforehtmleditorscriptsget.php]OnBeforeHTMLEditorScriptsGet[/URL]), есть даже более подробные инструкции ([URL=http://dev2day.net/articles/1c-bitrix/Vizualnyi-redaktor-1S-Bitriks-Kastomizaciya/]раз[/URL], [URL=http://dev.1c-bitrix.ru/community/webdev/user/11948/blog/1751/index.php]два[/URL]). Но для нового ни одно из этих событий не работает.
Шаблоны форм редактирования элементов - не вариант. Есть возможность [URL=http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=5258]кастомизировать формы добавления/изменения элементов инфоблоков[/URL], задав что-то типа шаблонов для этих форм. Там есть код вызова текстового поля Текст/HTML/Редактор:[CODE]CFileMan::AddHTMLEditorFrame(
"PREVIEW_TEXT",
$str_PREVIEW_TEXT,
"PREVIEW_TEXT_TYPE",
$str_PREVIEW_TEXT_TYPE,
array(
'height' => 150,
'width' => '100%'
),
"N",
0,
"",
"",
$arIBlock["LID"],
true,
false,
array(
'toolbarConfig' => CFileman::GetEditorToolbarConfig("iblock_".(defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1 ? 'public' : 'admin')),
'saveEditorKey' => $IBLOCK_ID
)
);[/CODE], который как раз подошёл бы: передать параметрами нужные кнопки/тулбары, и никаких правок ядра. Однако, метод [I]AddHTMLEditorFrame[/I] подобных параметров не принимает, можно только настроить (не)вывод панели сниппетов, компонентов. И вызываемый в итоге (new CHTMLEditor)->Show - тоже не принимает в качестве параметров ни кнопок, ни тулбаров.
Единственный способ скрывать кнопки редактора, не модифицируя ядро: добавить в admin_header.php подключение собственного CSS, где прописать что-то типа:
[CODE]/* Скрыть кнопку выбора цвета фона текста для редактора детального описания */
#bx-html-editor-tlbr-cnt-DETAIL_TEXT .bxhtmled-top-bar-color{
display: none;
}
/* Скрыть кнопку "Ещё..." для редактора текста анонса*/
#bx-html-editor-tlbr-cnt-PREVIEW_TEXT .bxhtmled-button-more{
display: none;
}
[/CODE]
Неужели это всё, и только правка ядра?
События - не вариант. В старом редакторе можно повесить обработчики [URL=https://dev.1c-bitrix.ru/api_help/fileman/events/index.php]событий на вывод JS-файлов редактора[/URL] (самое ценное из которых - [URL=https://dev.1c-bitrix.ru/api_help/fileman/events/onbeforehtmleditorscriptsget.php]OnBeforeHTMLEditorScriptsGet[/URL]), есть даже более подробные инструкции ([URL=http://dev2day.net/articles/1c-bitrix/Vizualnyi-redaktor-1S-Bitriks-Kastomizaciya/]раз[/URL], [URL=http://dev.1c-bitrix.ru/community/webdev/user/11948/blog/1751/index.php]два[/URL]). Но для нового ни одно из этих событий не работает.
Шаблоны форм редактирования элементов - не вариант. Есть возможность [URL=http://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=5258]кастомизировать формы добавления/изменения элементов инфоблоков[/URL], задав что-то типа шаблонов для этих форм. Там есть код вызова текстового поля Текст/HTML/Редактор:[CODE]CFileMan::AddHTMLEditorFrame(
"PREVIEW_TEXT",
$str_PREVIEW_TEXT,
"PREVIEW_TEXT_TYPE",
$str_PREVIEW_TEXT_TYPE,
array(
'height' => 150,
'width' => '100%'
),
"N",
0,
"",
"",
$arIBlock["LID"],
true,
false,
array(
'toolbarConfig' => CFileman::GetEditorToolbarConfig("iblock_".(defined('BX_PUBLIC_MODE') && BX_PUBLIC_MODE == 1 ? 'public' : 'admin')),
'saveEditorKey' => $IBLOCK_ID
)
);[/CODE], который как раз подошёл бы: передать параметрами нужные кнопки/тулбары, и никаких правок ядра. Однако, метод [I]AddHTMLEditorFrame[/I] подобных параметров не принимает, можно только настроить (не)вывод панели сниппетов, компонентов. И вызываемый в итоге (new CHTMLEditor)->Show - тоже не принимает в качестве параметров ни кнопок, ни тулбаров.
Единственный способ скрывать кнопки редактора, не модифицируя ядро: добавить в admin_header.php подключение собственного CSS, где прописать что-то типа:
[CODE]/* Скрыть кнопку выбора цвета фона текста для редактора детального описания */
#bx-html-editor-tlbr-cnt-DETAIL_TEXT .bxhtmled-top-bar-color{
display: none;
}
/* Скрыть кнопку "Ещё..." для редактора текста анонса*/
#bx-html-editor-tlbr-cnt-PREVIEW_TEXT .bxhtmled-button-more{
display: none;
}
[/CODE]
Неужели это всё, и только правка ядра?