Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
23 мая 2013, 20:16
0
Ужас, зачем так много памяти?
Сколько ресурсов на сайте, установлен ли php-apc?

На будущее хинт — можно тупо удалять директорию /core/cache — она создастся заново сама.
Василий Наумкин
23 мая 2013, 20:15
0
Yep.

You can disable memorization of tabs in MS 2.0.1
Василий Наумкин
23 мая 2013, 19:23
0
Yes, i i understand you correctly.

By default you must receive emails with order information right after MS2 installation. And new emails, when changing order status.

Василий Наумкин
23 мая 2013, 19:20
0
Ты в курсе, что у тебя в корзине не подключен jQuery?

Без него работать не будет.
Василий Наумкин
23 мая 2013, 18:17
0
1. You need to create plugin for action msOnBeforeCreateOrder, that will receive msOrder object in $order variable.

2. Yes, see snippet msOrder, it set various placeholders to the email chunk.
Василий Наумкин
23 мая 2013, 14:26
0
Уверен?
В процессоре create также проверяется переменная syncsite — должно работать.

В плагине надо убрать
if ($modx->event->params['mode'] != 'upd') {return;}
и поменять очистку кэша сохраняемого ресурса на его родителя (можно еще какие то ресурсы добавлять туда же).
Василий Наумкин
23 мая 2013, 13:01
0
Только так.

Но у тикетов это более грамотно сделано, за счет того, что это CRC и там свои процессоры.
Василий Наумкин
23 мая 2013, 12:40
0
Именно. И глюков нет.

А если есть, то только такие, которые можно словить и на реальном хостинге — а значит лучше их сразу научиться решать.
Василий Наумкин
22 мая 2013, 19:31
0
Либо старый php, либо проблема с сессиями из-за php-apc.

Либо и то и другое сразу. Свои компоненты на версиях php ниже 5.3 я не тестирую.
Василий Наумкин
22 мая 2013, 19:07
0
modx_tickets_votes — вообще пока не используется, это задел на систему голосования за тикеты и комменты.

Базовый сниппет я пока не планирую менять, ибо тут всё-таки крайне необычная ситуация. И я так понимаю, на 100 000 не особо тормозило =)

Если на сайте такая гора документов, значит с посещалкой все окей, и можно написать свой собственный сниппет для выборки из БД.
Василий Наумкин
22 мая 2013, 16:48
0
Что происходит у тебя на локальной машине — не угадать. Учитывая, что реально работать в xampp или denwer ни один сайт не будет, это вообще никому не нужно.

Если хочешь нормальное окружение для работы — можно использовать вот это. Масса проблем сразу исчезнет.
Василий Наумкин
22 мая 2013, 16:45
0
Мысль тут только одна: расставить дополнительных индексов (например, на deleted индекса нет) и написать свой собственный сниппет для вывода тикетов.

Убрать там все ненужные плюшки, лишние джоины и, возможно, разбить на несколько запросов, например отдельно считать кол-во комментов у тикета, или не считать вовсе.

Честно говоря, я вообще удивлен и очень рад, что 300 тысяч тикетов в принципе работают.
Василий Наумкин
22 мая 2013, 16:39
0
Ошибки на локальных серверах за ошибки не считаются, извини.
Василий Наумкин
22 мая 2013, 13:36
0
Как запущу бета-тест нашего репозитория — новая версия MS2 будет там.

Надеюсь на завтра.
Василий Наумкин
22 мая 2013, 13:10
0
311 000 тикетов? Фигасе.

Это скорее всего связано с тем, что там криво написана выборка по parents c depth — по карте ресурсов всегда получаются id потомков и включаются в запрос. А карта у тебя ооочень большая.

В MS2 уже поправил, попробуй изменить getTickets так:
else {
	// Filter by parents
	if (empty($parents) && $parents != '0') {$parents = $modx->resource->id;}
	if (!empty($parents) && $parents > 0){
		$pids = array_map('trim', explode(',', $parents));
		$parents = $pids;
		if (!empty($depth) && $depth > 0) {
			foreach ($pids as $v) {
				if (!is_numeric($v)) {continue;}
				$parents = array_merge($parents, $modx->getChildIds($v, $depth));
			}
		}
		if (!empty($parents)) {
			$where['parent:IN'] = $parents;
		}
	}
}

Ну а после этого вызывай getTickets с параметром &depth=0. Должно помочь.
Василий Наумкин
22 мая 2013, 06:50
0
Нужно сделать так, чтобы элемент оформления ul был в чанке родителя. Тогда можно будет пристроить вызов сниппета прямо в него, после потомков. Типа такого:
<ul>
	[[+wf.wrapper]]
	<li>[[!getParent?id=`[[+id]]`]]</li>
</ul>

Понятно, нужно еще набросать простенький сниппет getParent, который вернёт тебе нужную ссылку.
Василий Наумкин
21 мая 2013, 12:57
0
Не знаю.

Ниша, на самом деле, широкая — php.
Василий Наумкин
21 мая 2013, 06:19
0
Вовсе нет, просто нужен хороший программист.

Василий Наумкин
20 мая 2013, 20:06
0
Вообще да, просто не выглядит.

Ну и в целом, среди хороших программистов на MODX свободных обычно не бывает.