
Как добавить Tab в редактор Modx Revo
Всё достаточно просто. Чтобы в редакторе страницы Modx Revolution появилась дополнительная вкладка, в которую потом можно будет добавить любой функционал, например, загрузку прайса, нужно сделать следующее.
Логинимся в "админку". Кликаем по шестерёнке в правом верхнем углу и выбираем пункт "Настройка форм" из выпадающего меню.
Открывается страница "Настройка форм", в которой кликаем по профилю "Менеджер" и выбираем пункт "Редактировать".
Далее видим редактор профиля и его "Наборы правил" внизу. Обычно это "resource/create" и "resource/update". Кликаем по первому и в контекстном меню выбираем "Редактировать".
В "Новом наборе правил" переходим на вкладку "Регионы", кликаем на "Создать новую вкладку", заполняем поля "ID" - название вкладки на английском языке или транслитом и "Заголовок" - здесь можно по-русски.
То же самое делаем и для "resource/update".
Кликаем "Сохранить". Чистим кэш.
Открываем любую страницу на редактирование и проверяем наличие новой вкладки. У меня это вкладка "Загрузить новые товары в данную категорию из Excel".
На этот Таб я вывела собственный плагин импорта товаров из Excel в БД Mysql.
Настройки -> "Настройка форм" ![]() |
Менеджер -> Редактировать ![]() |
resource/create -> Редактировать ![]() |
resource/update -> Редактировать ![]() |
Регионы -> Создать новую вкладку ![]() |
Проверяем результат в редакторе страницы ![]() |
Есть и другое решение этой задачи (добавления вкладки/Tab) - через MODx.addTab.
$modx->controller->addHtml( '<script type="text/javascript">
Ext.onReady(function() {
MODx.addTab("modx-resource-tabs",{
title:"Загрузить новые товары в данную категорию из Excel",
id:"modx-resource-excel-onload-goods"
});
});</script>' );
или
$modx->controller->addHtml("<script type='text/javascript'>
MODx.on('ready',function(){
MODx.addTab('modx-resource-tabs',{
title: 'Загрузить новые товары в данную категорию из Excel',
id: 'modx-resource-excel-onload-goods',
width: '99%',
items: [{ html: '".$html."' }]});
});</script>
Если при вставке первого или второго кода выходит ошибка - попробуйте преобразовать весь код в одну строку, убрав перенос строк.