Таб на странице редактирования ресурса

Добрый день. Столкнулся с такой казалось мелочью, но никак не могу ее победить: как вывести таб от своего компонента на страннице редактирования ресурса, чтобы сохранить его функциональность? Я делаю следующим способом:

  1. Написал плагин на событие "OnDocFormPrerender", в котором подключаю файл tab.js, а также файлы js компонента (а надо ли?)
  2. В файле tab.js пишу такой код:
Ext.onReady(function () {
	var mainPanel = Ext.getCmp("modx-panel-resource");
	if (!mainPanel) return;

	if (mainPanel.config.record.id > 0) {
		modCOM.config.docid = mainPanel.config.record.id;

		MODx.addTab("modx-resource-tabs", {
			title: _("modcom"),
			id: "files-tab",
			width: "95%",
			items: [{
				xtype: "modcom-grid-items",
				width: "95%"
			}]
		});
	}
});

В результате вкладка не выводится...

  1. Если же я меняю xtype на любой из стандартных, то все работает. Проблема я так понимаю в том, что MODX не видит мой кастомный xtype? Но в плагине у меня подключены все js, которые есть в компоненте, не пойму в чем я ошибаюсь... Помогите, пожалуйста.

Comments

  1. В таких случаях, если у вас что-то не работает, прежде чем городить всю конечную систему с плагинами, файлами и т.п., убедитесь, что код работает в принципе. В этом вам поможет браузерная консоль.
MODx.addTab("modx-resource-tabs", {
	title: _("modcom"),
	id: "files-tab",
	width: "95%",
	items: [{
		xtype: "modcom-grid-items",
		width: "95%"
	}]
});

Вот это не работает. То есть даже можете убрать свойство items (да и id не обязательно, тем более на уровне тестов), не работает. А вот так работает:

Ext.getCmp("modx-resource-tabs").add({
	title: "TabTitle",
	width: "95%"
});
  1. Чаще юзайте console.log(). Убедитесь, что код ваш срабатывает при загрузке страницы, а так же есть все необходимые компоненты на странице.

Добрый день. Не знаю как создать новый пост. Отпишусь тут. Смысл в том, что создал кнопки установки и удаления дат. Интегрировал в панель, настроил бэкенд, но данные не уходят. Залогировал загрузку хранилища через Console.log. В консоли пишет undefined. Если кто-то захочет подсказать мне пару вопросов по EXTJS 4.2, буду крайне рад, т.к. я совсем юн в этом вопросе. Если что, могу выложить необходимый код тут

Мне кажется, что 4.2 от 3.4 в тех аспектах не сильно отличается.

Чтобы не создавать лишний топик. напишу здесь: Николай, подскажите с чем связана эта ошибка при импорте? Правильно ли я понимаю, что из-за дублирования названия категории?

(ERROR @ /core/xpdo/om/xpdoobject.class.php : 1452) Error 23000 executing statement:
INSERT INTO `modx_modimporter_objects` (`tmp_object_type`, `tmp_external_key`, `tmp_import_id`, `tmp_parent`, `tmp_title`, `tmp_content`, `tmp_processed`, `tmp_error`, `tmp_raw_data`) VALUES ('category', '00111', 1, '00004', 'Насосы', '', '0', 0, 'a:1:{s:9:\"pagetitle\";s:12:\"Насосы\";}')
Array
(
    [0] => 23000
    [1] => 1062
    [2] => Duplicate entry '00111-category' for key 'tmp_external_key'
)

Это происходит в результате того, что во время импорта он по артикулу смотрит уникальность категории?

Андрей, не надо флудить в чужом топике. Топикстартер и прочие участники топика могут не хотеть получать уведомления не по своей теме. Редактирование ресурса и импорт никак не связаны. Есть вопросы? Создавайте профильный топик.