Блог. Администрирование сайтов

Как добавить 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>

Если при вставке первого или второго кода выходит ошибка - попробуйте преобразовать весь код в одну строку, убрав перенос строк.

Смотреть все статьи