Как обновить класс CSS и атрибуты rel для привязки ссылки в функции TinyMCE 5 file_picker_callback / callback()

#tinymce #tinymce-5

Вопрос:

поэтому я использую TinyMCE 5 и не могу найти, как обновить атрибуты CSS class=»» и rel=»» для:

 <a class="..." rel="...." href="data.url">data.text</a>
 

привязка ссылки с функцией обратного вызова ()?

Не удалось найти решение с помощью документации:

https://www.tiny.cloud/docs/plugins/opensource/link/

https://www.tiny.cloud/docs/configure/file-image-upload/#file_picker_callback

и Google.

Мой пример кода на JavaScript TinyMCE 5 init() :

 tinyMCE.init({
        //...
        file_picker_types: 'file image',
        file_picker_callback: function(callback, value, meta) {
            if (meta.filetype == 'file') {
                tinymce.activeEditor.windowManager.openUrl({
                    title: 'File browser',
                    url: TINYMCE_FILE_BROWSER_URL,
                    onMessage: function (api, data) {
                        if (data.mceAction === 'fileAction') { 
                            callback(data.url, { text: data.text, 'css_classes_attribute': 'int_mark_link' });
                            api.close();
                        }
                    }
                });
            }
        },
        //predefined CSS classes:
        link_class_list: [
            {title: 'None', value: ''},
            {title: 'External Link', value: 'ext_link'},
            {title: 'Internal Support Link', value: 'int_sup_link'},
            {title: 'Internal Marketing Link', value: 'int_mark_link'},
            {title: 'Other Internal Link', value: 'int_other_link'}
        ],
        //...
    });
 

Заранее спасибо.

Ответ №1:

Значение rel можно задать с помощью списка rel_list

 rel_list: [
   {title: 'None', value: ''},
   {title: 'Rel nofollow', value: 'nofollow'},
   {title: 'Rel sponsored', value: 'sponsored'}
],
 

Занятия, подобные этому

   link_class_list: [
    {title: 'None', value: ''},
    {title: 'Bold', value: 'classbold'},
    {title: 'Extrabold', value: 'classextrabold'}
  ],
 

Комментарии:

1. Я знаю о классах CSS по умолчанию «link_class_list» и возможности их изменения в раскрывающемся окне «Вставить». Но я хочу, чтобы у меня был <a class=»старый css-класс»>..<a class=»старый css-класс»></a>, чтобы обновить его до нового CSS-класса: </a><a class=»новый css-класс»>..<a class=»новый css-класс»></a> с помощью Javascript: обратный вызов(data.url, {текст: data.text, ‘css_class’: ‘новый css-класс’});, и я не знаю, какой правильный атрибут я следует ли указывать в обратном вызове: ‘css_class’?