Всего 122 769 комментариев

Василий Наумкин
05 июля 2014, 05:53
+3
Выглядит очень круто!

Я, честно говоря, и не подумал о такой простой и красивой реализации. Автор — большой молодец!
Василий Наумкин
05 июля 2014, 05:52
0
Ни одно дополнение не узнает, что поля расширены, потому что для него они выглядят как родные.

В этом главная крутота системы плагинов miniShop2.
Василий Наумкин
05 июля 2014, 05:51
0
Тут только вложенный вызов pdoMenu или pdoResources — если не нужны дальнейшие потомки.
Василий Наумкин
05 июля 2014, 05:50
0
Так не получится.
Фильтрация — слишком сложный процесс, чтобы выводить несколько фильтров за раз.

В примеру, состояние фильтров, номер страницы, направление сортировки сохраняются в url. Это значит, что при 2х вызовах все эти параметры должны называться по разному, чтобы не мешать друг другу.

Я уж молчу про верстку на id и javascript.
Владимир
05 июля 2014, 02:16
0
Тоже купил бы! Полезный компонент, и будет часто востребован.
Андрей Сухомозгий
05 июля 2014, 01:22
0
Это сниппет msTags:
<?php
$key = 'tags'; // имя опции товара
$category = 0; // фильтрация по категории
$param1 = $_GET['tag'];

$q = $modx->newQuery('msProductOption');
$q->innerJoin('msProduct', 'msProduct', 'msProduct.id=msProductOption.product_id');
$q->where(array('msProductOption.key' => $key, 'msProductOption.value'=> $param1));
$q->sortby('msProductOption.value','ASC');
$q->select('DISTINCT(msProductOption.value), msProduct.id');
$q->where(array('msProductOption.key' => $key));
if (!empty($category)) {
    $ids = $modx->getChildIds($category);
    $ids[] = $category;
    $q->innerJoin('msCategory', 'msCategory', 'msCategory.id=msProduct.parent');
    $q->where(array('msCategory.id:IN' => $ids));
}
$result = array();
if ($q->prepare() && $q->stmt->execute()) {
    while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
    	$res['id'][] = $row['id'];
	}
	$result = implode(",", array_unique($res['id'])) ;

}
$modx->runsnippet('pdoResources', array('parents'=>3,'resources'=>$result));
На принимающей странице вот это:
[[msTags?]]

А get параметр передается вот так:
[[!msOptions?name=`tags`&tplOuter=`@INLINE <p><strong>Tags:</strong> [[+rows]]</p>`&tplRow=`@INLINE <a href="tags?tag=[[+value]]">[[+value]]</a> `]]
Александр Коваленко
05 июля 2014, 00:56
0
Так уже пробовал, но тогда ограничивается все (меню, подменю) и результат не тот, который мне нужен.
Павел Пустота
05 июля 2014, 00:54
0
Может так — &limit=`6`?
Павел Пустота
05 июля 2014, 00:43
0
Пришли код сниппета. Чудес же не бывает. Если сниппет возвращал список idшников, то значит вызываешь pdoResources не правильно. У меня в примере оочень примерный вызов. Его нужно переделать под твою ситуацию.
Andrey Grachov
05 июля 2014, 00:41
+1
Это JS методы, которые отвечают за установку/чтение значений из адресной строки: github.com/bezumkin/mSearch2/blob/master/assets/components/msearch2/js/web/default.js#L475
Поисковый запрос на сервер и так отправляется методом POST. Или что вы имеете в виду?
Андрей Сухомозгий
05 июля 2014, 00:24
0
сделал «правильным» способом… вызвал тот же сниппет на странице, поменял у него последнюю строку на правильную и ничего
Андрей Сухомозгий
05 июля 2014, 00:22
0
ничего не выводит, к сожалению…
Павел Пустота
05 июля 2014, 00:10
0
Простой способ вставить результат в pdoResources:
[[pdoResources?
    &parents=`1`
    &resources=`[[!ТВОЙСНИППЕТ]]`
]]
Заменив в сниппете print_r($result) на echo $result

Правильный способ в твоём сниппете сделать вместо print_r($result):
$modx->runsnippet('pdoResources', array('parents'=>1,'resources'=>$result));
Алексей
04 июля 2014, 23:45
0
я смотрю и на страничке товара цена меняется в зависимости от опций, не только в корзине!
Андрей Сухомозгий
04 июля 2014, 23:28
0
а вот такой еще вопрос: я в результате этих манипуляций получил просто список айдишников товаров… как бы мне их оформить нормально. Так, как они в каталоге выводятся… Подскажите…
Сергей Скат
04 июля 2014, 22:19
0
эм… ну копай css тебе по сути нужно просто оформить массив товаров, всем товарам float:left и подгоняй под свои нужды
Алексей
04 июля 2014, 20:38
0
Седня закончилось место на linode тариф за 30$ — 70 гигов SSD. 30 сайтов, из них 4 интернет-магазина — остальное визитки, и так, всякие проекты не особо активные. В общем был виноват дропбокс. Старина создавал в каталоге /tmp временные файлы аш на 40 гигабайт. В связи с этим планирую переходить на Dropbox-Uploader. + ко всему достало, что дропбокс все ночные бэкапы перекэширует ежедневно, чем сильно нагружает VPS. Есть ли у кого-нибудь опыт настройки данного скрипта? (он, на сколько я понял, способен закачивать файлы на дропбокс, также может удалять с него файлы).
Алексей
04 июля 2014, 20:26
0
Вообще класс! год назад обсуждали эту тему, но все уперлось в реализацию. Может ли это дополнение работать с доп. расширяемыми полями товара через плагины?
Василий Столейков
04 июля 2014, 16:57
+2
Только месяц назад в прошлом проекте ломал себе голову над костылями похожего рода. Очень нужная и часто спрашиваемая вещь!