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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #5
12 ноября 2015, 19:59
+2
Ну да, для композитора мелодию написать тоже раз плюнуть, всего 7 нот. У меня точно целый день уйдет на разборку с минишопом. Поставить поставил, но не разу не пользовался.
Если ты не планируешь на нем заработать на домик в Гаграх, то может выложишь в виде инструкции, тем более заказчик дал добро. Челом бьем, боярин, не оставь на погибель. :)
Рейтинг себе поднимешь :))
12 ноября 2015, 19:09
0
Мне самому в ближайшее время понадобится такое решение. Надеюсь, Василий обрадует. Иначе так и придется самому делать.
12 ноября 2015, 18:44
+3
А так?
[[!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 'Административный'"
		}
	}`

]]
12 ноября 2015, 17:58
0
Ну если мучает мысль, что Тикетс избыточен, то есть другие компоненты типа quip, modxtalks. У меня на сайте комментарии Тикетс используются для книги отзывов. Нравится очень.
12 ноября 2015, 17:53
0
По-моему, тут уже предлагалось решение. Да и самому сделать не сложно.
12 ноября 2015, 17:30
0
TicketComments и так можно просто цеплять к обычным ресурсам.
11 ноября 2015, 21:27
0
a href="[[~[[+parent]]]]"
11 ноября 2015, 20:59
0
Вот сижу кумекаю, получится ли отдельным модулем или придется в базовую версию включать.
11 ноября 2015, 20:49
0
[[!pdoField?id=`[[+parent]]`&field=`pagetitle`]]
11 ноября 2015, 18:28
+4
Я понимаю, что ты делаешь, как тебе проще. Жаль, что боишься в этом признаться.
Ты чего злой-то такой? Если бы ты постарался не предвзято посмотреть, то не писал бы такие глупости. Мне то как раз гораздо проще написать один компонент — и никакого геморроя с модульной стыковкой и поддержкой. И залупить сразу цену в 3-4 тыщи, как в Workpress. Я не считаю правильным предлагать навороченный и дорогой продукт человеку, которому половина из предложенного не нужна. Типа поставить Windows Ultimate для того, чтобы в пасьянс поиграть.
И честно говоря не понимаю претензий. Ты же наверняка ставишь кучу пакетов, когда поднимаешь сайт. И все они работают друг с другом. Будет одним пакетом больше, в чем проблема. Минишоп благодаря возможностям расширения получил такую огромную популярность и среди пользователей и среди разработчиков.
11 ноября 2015, 17:44
0
Не забывай, что если захочется добавить оплату, то нелбходимо поставить Minishop2 + модули оплаты… Ни разу не круто.
Не вижу проблем. Возьми и сделай свой компонент со всеми модулями и оплатами. Чё тут сложного. А я покритикую.
11 ноября 2015, 16:45
+5
Мне кажется, что это просто набор не связанных между собой слов. «Бедный» никак не вяжется с «MODX». Причем тут матрешка и почему это не конструктор Лего, например, загадка. Это как у развивалок для детей — найдите лишний предмет на картинке. В твоем комментарии все слова кроме MODX лишние.

П.С. А, я понял. Тебе наверно просто поговорить не с кем? :)
10 ноября 2015, 13:19
+4
Отличная новость.
09 ноября 2015, 09:44
+3
Все компоненты 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.
07 ноября 2015, 21:49
+1
У комбобокса, как и у любого поля формы, должно быть имя — атрибут name, а также hiddenName. Они должны совпадать друг с другом. А для зачитки данных с сервера нужно указать mode: 'remote'.
06 ноября 2015, 22:50
+1
Велком!
06 ноября 2015, 22:41
+1
Если понять принцип работы компонентов, то все становится просто
'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
}
06 ноября 2015, 20:23
+1
Спать вчетвером. :)
06 ноября 2015, 20:20
+1
Подход абсолютно не правильный. Ничего удалять не надо. У каждого комбобокса есть store. Нужно для store второго комбобокса указать выбранное значение в качестве параметра baseParams, а в его getlist процессоре учитывать этот параметр для ограничения запроса. Затем перечитать store.load().
Дал направление для самостоятельной попытки. Если не получится, пиши.