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

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

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
bezumkin.ru/modx/minishop2/faq.html

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

Это старый известный баг репозитория MODX. Нужно загрузить пакет из репозитория вручную, как при первой установке — тогда всё находится. Подозреваю в репозитории особо-мощное кэширование.
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, для лимиторавания по категориям, иначе будет выводить отовсюду.
Там php-apc был включен — отключил.

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

В закрытой, пока, бета-версии 1.0.0 есть возможность подключать свои скрипты из произвольного файла без всяких ухищрений.