Имею в наличии замещающую схему раздела базы знаний.

define("PortalKnowledgeBaseSection", ["HtmlEditModule", "PortalKnowledgeBaseSectionStructure", "PortalKnowledgeBaseSectionResources", "ckeditor-base", "jQuery"],
function (HtmlEditModule, structure, resources) {
    return {
        /* #region  Схема. */
        entitySchemaName: "KnowledgeBase",
        /* #endregion */
        //...
        /* #region  Методы. */
        methods: {
        //...
            /* #region  Клик по кнопке "Полноэкранный режим". */
            onFullscreenModeClick: function () {
                let control = structure;  // ok
                let schema = structure.schema;  // ok
                let rightPanel = structure.schema.rightPanel;  // ok
                // let find = structure.schema.rightPanel.find("ckeditor");  // not ok
                // let item = structure.schema.rightPanel.items[itemIndex];  // not ok
                // //перебором ищем нужный контрол по имени
                // while (item.name !== "...") {
                // ...
                // }
                let editor = $("#MyFieldHtmlEdit-html-edit"); // ok
                // htmlEdit.height(200);
                //...
                let editor = this.editor;  // not ok
                if (editor) {
                    editor.execCommand("maximize");
                }
            },
            /* #endregion */
        },
        /* #endregion */
    };
});

Вопрос: Не получается получить доступ к контролу "ckeditor", для последующей передачи в него команды максимизации окна.

Нравится

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

Добрый день.

Я рекомендую вам использовать вместо jquery:

let editor = $("#MyFieldHtmlEdit-html-edit");

 

Нашу конструкцию, получения компонента:

var container = Ext.getCmp("MyFieldHtmlEdit")

И у данного контейнера есть свойство editor которым уже можно свободно оперировать.



Самый простой пример - зайдите на страничку редактирования KnowledgeBase и в консоль выполните следующую команду:Ext.getCmp("KnowledgeBasePageV2NotesHtmlEdit").editor.execCommand("maximize")

Григорьев Михаил Алексеевич,

Спасибо, это то, что нужно.

// KnowledgeBasePageV2NotesHtmlEdit - обычная версия 
// PortalKnowledgeBasePageNotesHtmlEdit - портальная версия
var container = Ext.getCmp("PortalKnowledgeBasePageNotesHtmlEdit")
if (container && container.editor) {
  container.editor.execCommand("maximize");
}

 

Показать все комментарии

Здравствуйте! Подскажите, как можно реализовать редактор шаблонов для текстовых сообщений(без html). Функционал как у email шаблонов но без изображений, html и прочих не текстовых элементов. Пробовали скопировать отдельно кнопку вставки макроса, а также пытались переделать сам редактор - была идея выключить html режим в ckeditor. Не разобрались как это реализовать, кнопку вставки макросов отдельно скопировать не удалось тк для нее необходимы параметры конфигурации и другие элементы которые зависят от редактора шаблонов email. Требуется только функционал вставки макросов (единственная кнопка из редактора). Текст сообщения допустимо размещать в обычном текстовом поле.

Нравится

1 комментарий

В существующих дополнениях для отправки SMS есть редактор с макросами, но там в обоих названия полей вводятся вручную.

Либо же использовать дизайнер HTML-шаблонов, а при сохранении очищать текст от тегов, как при генерации темы обращения по письму.

Показать все комментарии