Документ, который я редактирую с помощью ckeditor, обрабатывается для синтаксиса Jinja, а для кода с большим количеством настраиваемых шаблонов, которые необходимо обновлять по всему сайту, если он изменяется, я хочу, чтобы код можно было повторно отображать в будущем. Для этого мне нужно диалоговое окно вставки изображения, чтобы вставить следующее вместо HTML:
{% include "includes/media.html" type="img" src="/img/2019/12/its-all-a-machine-partner-live-free-dont-join.jpg" title="It's all a machine, partner. Live free. Don't join." caption="It's all a machine, partner. Live free. Don't join." %}
Я нашел следующее решение: https://ckeditor.com/old/forums/CKEditor-3.x/Change-code-inserted-for-image
Ответ от 26.05.2012 работал, если я использовал HTML теги, но не получался, если я изменил синтаксис на шаблонизацию Jinja, из-за чего кнопка ОК в диалоговом окне изображения перестала отвечать.
Попытка кода :
CKEDITOR.on('dialogDefinition', function (ev) {
var dialogName = ev.data.name;
var dialogDefinition = ev.data.definition;
var dialog = dialogDefinition.dialog;
var editor = ev.editor;
if (dialogName == 'image') {
dialogDefinition.onOk = function (e) {
var imageSrcUrl = e.sender.originalElement.$.src;
var imgHtml = CKEDITOR.dom.element.createFromHtml('{% include "includes/media.html" type="img" src="' + imageSrcUrl + '" %}');
editor.insertElement(imgHtml);
};
}
});
Я пропустил все тонкости получения описания и альтернативного текста, если я смогу заставить принцип работать, тогда я могу выяснить все остальное.
Кто-нибудь может порекомендовать? как я могу это сделать? 1019 *