Wassi Wassinen

Wassi Wassinen

Был в сети 27 июня 2026, 01:27
Заказы не принимаю
Оке. Один вопрос остался :) Что с цветами? Когда отмечаешь, допустим, «зеленый», которого он показывает 8 шт., при выборе выводит гораздо больше товаров, которые не содержат этот цвет. А к количеству остальных цветов добавляет энную сумму. Посмотри на minishop2.com. Мануал к ночи напишу. :)
Спасибо :))
Василий, а как он у тебя фильтрует не найденное? Например, до этого нужно было найти что-либо и только после мФильтр «отделял зерна от плевел».
Если я в
<input type="hidden" name="query" value="[[+mse.query]]">
оставляю все как есть, он просто ничего не находит. Вставляю сниппет в поле resources — даже не выстраивает DOM. Пустая страница. Пробую разобраться. Неужели я что-то с недосыпу ночью нахимичил? Ты, к слову, сам mFilter не менял?
Василий, что-то я уже перепробовал всякого разного, но выводить товары по родителям не получилось. По категории — тоже. Какой-то он хитрый слишком. :) Понятно, что можно искать вставкой в значение части названия товара. Но это не совсем комильфо. Завтра попробую со свежей головой.

Если у тебя будет время — подскажи примером. Сниппет, который приведен в теме mFilter(для подстановки дочерних ресурсов):
if (!empty($_REQUEST['query'])) {return;}
$parent = $modx->resource->id;

$tmp = $modx->getChildIds($parent);
if (empty($tmp)) {return 0;}
$tpls = explode(',', $modx->getOption('minishop.goods_tpl'));
$q = $modx->newQuery('modResource', array('id:IN' => $tmp, 'template:IN' => $tpls, 'deleted:!=' => 1, 'published' => 1));
$q->select('id');
if ($q->prepare() && $q->stmt->execute()) {
    $ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN, 0);
    return implode(',', $ids);
не работает. То ли таблица старая, то ли еще что — пока не понял. Возвращает пустое значение. Возвращаясь к началу разговора — покажи куда денег переводить за пример :)) Ты помог, хочется отблагодарить. «Спасибами» интернет не оплатишь и жене конфет не купишь :) И если запал еще тлеет — расскажи как по родителям можно фильтровать.

Заранее благодарен.
<div class="row">
	<div class="span3">
		<div class="filter">
			<form action="[[~[[*id]]]]" method="post" id="mFilter">
				[[!mFilter?
					&resources=`2082,2083,2084,2085`
					&includeTVs=`0`
					&includeMS=`1`
					&includeMSList=`price,new,favorite,popular`
					&sortFilters=`ms_new,ms_favorite,ms_popular,ms_price`
					&tpl=`tpl.msProducts.row`
				]]
				<input type="hidden" name="query" value="[[+mse.query]]">
				<input type="hidden" name="page" value="1">
				<input type="hidden" name="sort" value="ms_price,asc">
				<input type="hidden" name="limit" value="10">
				<input type="hidden" name="parents" value="[[+parents]]">
				<input type="hidden" name="action" value="filter" />
			</form>
		</div><!-- end_filter -->
	</div>
	<div class="span9" id="mItems"></div>
</div>
<link href="http://yandex.st/jquery-ui/1.10.3/themes/smoothness/jquery-ui.min.css" rel="stylesheet" />
<script src="http://yandex.st/jquery-ui/1.10.3/jquery-ui.min.js" type="text/javascript"></script>
<script src="/assets/components/msearch/js/mfilter.js" type="text/javascript"></script>
При таком вызове теперь не выдает ошибок, отображает слайдер с корректными ценами, но товары не выводит. Ему нужен пост запрос?
Василий, пц :)) Ты оказывается умеешь тонко троллить :)) Нашел я её, функцию эту, в отдельном js блоке объявлена. :))
<script type="text/javascript">
	miniShop2Config = {
		cssUrl: "/assets/components/minishop2/css/web/"
		,jsUrl: "/assets/components/minishop2/js/web/"
		,imagesUrl: "/assets/components/minishop2/images/web/"
		,actionUrl: "/assets/components/minishop2/action.php"
		,ctx: "web"
		,close_all_message: "закрыть все"
		,price_format: [2, ".", " "]
		,price_format_no_zeros: 0
		,weight_format: [3, ".", " "]
		,weight_format_no_zeros: 1
	};
	</script>
Может я неправильно понял, но, похоже, результаты фильтра выводятся через скрипт. В том смысле, что в блок
<div id="mItems" class="span9">
они выводятся js'ом. Подключил default.js. Отдает ошибку Uncaught ReferenceError: miniShop2Config is not defined default.js:4
miniShop2.initialize default.js:4
(anonymous function)
Василий, в чем еще может быть дело? Мфильтр выдает слайдер и поля с ценой, но не выводит отфильтрованные товары. В консоли была единственная ошибка из-за jquery.form без функции аякс запросов. Исправил. Результат тот же. В параметре &resources мФильтра указал четыре товара.