Сергей Шлоков

Сергей Шлоков

Был в сети 06 ноября 2025, 19:54
Заказы не принимаю
Ну да, для композитора мелодию написать тоже раз плюнуть, всего 7 нот. У меня точно целый день уйдет на разборку с минишопом. Поставить поставил, но не разу не пользовался.
Если ты не планируешь на нем заработать на домик в Гаграх, то может выложишь в виде инструкции, тем более заказчик дал добро. Челом бьем, боярин, не оставь на погибель. :)
Рейтинг себе поднимешь :))
А так?
[[!msProducts?
    &parents=`2`
    &join=`{
		"ps_type1": {
			"class": "msProductOption",
			"on": "ps_type1.key = 'ps_type' AND ps_type1.product_id = msProduct.id AND ps_type1.value LIKE 'Подвесной'"
		},
		"ps_type2": {
			"class": "msProductOption",
			"on": "ps_type2.key = 'ps_type' AND ps_type2.product_id = msProduct.id AND ps_type2.value LIKE 'Административный'"
		}
	}`

]]
Я понимаю, что ты делаешь, как тебе проще. Жаль, что боишься в этом признаться.
Ты чего злой-то такой? Если бы ты постарался не предвзято посмотреть, то не писал бы такие глупости. Мне то как раз гораздо проще написать один компонент — и никакого геморроя с модульной стыковкой и поддержкой. И залупить сразу цену в 3-4 тыщи, как в Workpress. Я не считаю правильным предлагать навороченный и дорогой продукт человеку, которому половина из предложенного не нужна. Типа поставить Windows Ultimate для того, чтобы в пасьянс поиграть.
И честно говоря не понимаю претензий. Ты же наверняка ставишь кучу пакетов, когда поднимаешь сайт. И все они работают друг с другом. Будет одним пакетом больше, в чем проблема. Минишоп благодаря возможностям расширения получил такую огромную популярность и среди пользователей и среди разработчиков.
Не забывай, что если захочется добавить оплату, то нелбходимо поставить Minishop2 + модули оплаты… Ни разу не круто.
Не вижу проблем. Возьми и сделай свой компонент со всеми модулями и оплатами. Чё тут сложного. А я покритикую.
Мне кажется, что это просто набор не связанных между собой слов. «Бедный» никак не вяжется с «MODX». Причем тут матрешка и почему это не конструктор Лего, например, загадка. Это как у развивалок для детей — найдите лишний предмет на картинке. В твоем комментарии все слова кроме MODX лишние.

П.С. А, я понял. Тебе наверно просто поговорить не с кем? :)
Все компоненты ExtJs выводятся в контейнерах. Основные контейнеры — это панели и окна. В данном случае, контейнер с вкладками Ресурсы, Элементы, Файлы — это tabPanel. Если посмотреть исходный код, то можно увидеть, что у этого контейнера есть id — 'modx-leftbar-tabpanel'. Получая компонент через метод Ext.getCmp(), можно использовать все его методы, в том числе и add(), который добавляет дочерние элементы — табы. Но можно воспользоваться альтернативным способом. В MODX есть метод addTab(), который также добавляет вкладку указанной панели.
MODx.addTab('modx-leftbar-tabpanel',{
	id: "id нового таба",
	title: "Заголовок таба",
	items: [{
		xtype: "x-type элемента, который будет показан на вкладке (в данном случае это дерево)"
		//, другие параметры 
	}]
})
П.С. Начинать изучать ExtJs с дерева — не очень хорошая идея. Это сложный компонент. Лучше начинать разбираться с чего-то попроще.
В ближайшее время выйдет статья, где поподробнее поговорим о компонентах ExtJs.
Если понять принцип работы компонентов, то все становится просто
'select': {
	fn: function (o) {
		var hostpanel_combo_version = Ext.getCmp( config.id +'-version'),
			store = hostpanel_combo_version.store;
		// Удаляем старые записи из комбобокса
		store.removeAll();
		// Прописываем нужный параметр для getlist процессора
		store.baseParams['parent'] = o.value;
		// Зачитываем новые записи
		store.load();
		// Очищаем поле комбобокса
		hostpanel_combo_version.setValue('');
	}, scope:this
}
Подход абсолютно не правильный. Ничего удалять не надо. У каждого комбобокса есть store. Нужно для store второго комбобокса указать выбранное значение в качестве параметра baseParams, а в его getlist процессоре учитывать этот параметр для ограничения запроса. Затем перечитать store.load().
Дал направление для самостоятельной попытки. Если не получится, пиши.