Я пытаюсь изменить элемент списка уже в моем плагине TinyMCE, который создает кнопку на панели инструментов с моими пользовательскими функциями для добавления кнопок и тому подобного.
Этот список работает нормально, когда я определяю список значения в моем плагине. js сам. Работает красиво. Тем не менее, я получаю эти значения, сгенерированные с помощью PHP на основе всех файлов, присутствующих в указанной папке c на сервере. Массив PHP преобразуется в массив JSON, а затем изменяется в соответствии с форматом, который нравится TinyMCE. Массив хранится в глобальном значении javascript, называемом «значки». Эта переменная фактически распознается и содержит весь массив JSON, правильно отформатированный для TinyMCE. Я знаю это, потому что когда я жестко запрограммировал этот массив в свой плагин TinyMCE в качестве значений, он отлично работает.
Однако, когда я пытаюсь загрузить этот массив в свойство values с помощью переменной icons, я получаю следующую ошибку в своей консоли, как только я пытаюсь открыть раскрывающееся меню в TinyMCE, которое должно содержать мои загруженные значения: Uncaught Error: Could not find control by type: {JSON array which is in my icons variable, which proces the array is actually properly recognised}
.
Модифицированный массив JSON, который я пытаюсь реализовать (который работает, если я кодирую его в плагин), выглядит следующим образом:
[
{text:"black-42",value:"black-42.png"},
{text:"black-43",value:"black-43.png"},
{text:"black_Hamburger menu",value:"black_Hamburger menu.png"},
{text:"black_Linkedin",value:"black_Linkedin.png"},
{text:"black_Location",value:"black_Location.png"},
{text:"black_Phone",value:"black_Phone.png"},
{text:"black_Plus",value:"black_Plus.png"},
{text:"black_behavior",value:"black_behavior.png"},
{text:"black_bicycle",value:"black_bicycle.png"},
{text:"black_black_add",value:"black_black_add.png"},
{text:"black_budget",value:"black_budget.png"},
{text:"black_bus",value:"black_bus.png"},
{text:"black_cancel",value:"black_cancel.png"},
{text:"black_car",value:"black_car.png"}
]
Код в моем плагине. js, который отвечает за элемент списка:
{
text: 'Icoon',
onclick: function() {
ed.windowManager.open({
title: 'Icoon invoegen',
body: [{
type: 'listbox',
name: 'type',
label: 'Icoon',
values: icons //This is the variable containing my JSON array
}],
onsubmit: function(e) {
ed.insertContent('[icon name="'+ e.data.text +'"]');
}
});
}
}
Я в растерянности, все отзывы очень ценятся!