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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
19 апреля 2013, 16:50
0
Никак не исправить — не предусмотрено пока.

Родное дерево рулится из javascript, расширенное — из php. Только костыли городить, но я предпочел не извращаться.
Василий Наумкин
19 апреля 2013, 12:46
0
1. Им не надо, они не вызываются напрямую.

2. Это баг, да. Исправлю.
Василий Наумкин
19 апреля 2013, 12:39
0
Тут должно быть AND а не ,
`msProduct`.`id`', 'msProductFile.published
Василий Наумкин
18 апреля 2013, 22:20
0
Совершенно нет времени всё описывать.

Одна надежда, что когда построю магазин расширений — смогу жить с него и привести в порядок все разработки.
Василий Наумкин
18 апреля 2013, 22:08
0
bezumkin.ru/modx/minishop2/faq.html

Не работает кнопка обновления miniShop2 в управлении пакетов. При ручной проверке говорит «у вас установлена последняя версия».

Это старый известный баг репозитория MODX. Нужно загрузить пакет из репозитория вручную, как при первой установке — тогда всё находится. Подозреваю в репозитории особо-мощное кэширование.
Василий Наумкин
18 апреля 2013, 21:59
0
Версия какая?

Вроде давно добавлено.
Василий Наумкин
18 апреля 2013, 19:56
0
Да, Вова, учи SQL.
Василий Наумкин
18 апреля 2013, 19:55
0
В miniShop такого нет.

Это кто-то уже дополнительно написал.
Василий Наумкин
18 апреля 2013, 18:10
0
msProduct — в данном случае и есть modResource.

Нужно всего лишь:
$q->select('`msProductFile`.`id`, `msProductFile`.`url`, `msProductFile`.`product_id`, `msProduct`.`pagetitle`');
Василий Наумкин
18 апреля 2013, 11:30
0
Сам то как думаешь?

Давай уже, дальше сам.
Василий Наумкин
18 апреля 2013, 09:38
0
Проверка на опубликованность и не удалённость:

$q->where(array('published' => 1, 'deleted' => 0));
Василий Наумкин
18 апреля 2013, 06:37
0
getCollection при выборе 100 записей работает медленнее в 1000 раз, чем выборка напрямую из таблиц.

Лучше так:
if (!empty($parents) && $parents > 0) {
	if (empty($depth)) {$depth = 10;}
	$pids = array_map('trim', explode(',', $parents));
	$parents = $pids;
	foreach ($pids as $v) {
		if (!is_numeric($v)) {continue;}
		$parents = array_merge($parents, $modx->getChildIds($v, $depth));
	}
}

$output = null;

$q = $modx->newQuery('msProductFile', array('type' => 'image', 'parent' => 0));
$q->innerJoin('msProduct', 'msProduct', '`msProductFile`.`product_id` = `msProduct`.`id`');
$q->select('`msProductFile`.`id`, `msProductFile`.`url`');
if (!empty($parents)) {
	$q->where(array('`msProduct`.`parent`:IN' => $parents));
}
if ($q->prepare() && $q->stmt->execute()) {
	while ($image = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
		$output .= '<a href="'.$image['url'].'" rel="prettyPhoto['.$image['id'].']"></a>'."\n";
	}
}

return $output;
Нужно указывать параметр parents, для лимиторавания по категориям, иначе будет выводить отовсюду.
Василий Наумкин
17 апреля 2013, 21:36
0
Загляни в системные настройки.
Василий Наумкин
17 апреля 2013, 17:36
0
Там php-apc был включен — отключил.

Вообще, я не пробовал, но по идее должны работать несколько вызовов. Только придётся переписать javascript фронтенда, ибо сейчас всё завязано на id элементов.

В закрытой, пока, бета-версии 1.0.0 есть возможность подключать свои скрипты из произвольного файла без всяких ухищрений.
Василий Наумкин
17 апреля 2013, 12:01
0
Прочти доку по msProducts, это давно уже работает из коробки.
Василий Наумкин
17 апреля 2013, 11:06
0
У меня компоненты новые так делают — MS2 и Tickets.

В любом случае, это не по религии MODX, где шаблоны и html почти не меняются, для удобства верстальщиков и дизайнеров.
Василий Наумкин
17 апреля 2013, 11:04
0
Можно.

Мне некогда.
Василий Наумкин
17 апреля 2013, 10:29
0
Не замечал, но проверю как время появится.