Andrey Grachov

Andrey Grachov

С нами с 27 декабря 2012; Место в рейтинге пользователей: #298
Andrey Grachov
29 мая 2014, 11:10
+3
$arr_cond['where']='{"Data.pole:IN": [1, 2, 3]}';
Andrey Grachov
25 мая 2014, 17:06
0
Можно background-image: url() перенести в чанк CategoryItemImage. Тогда если не будет изображений, стиль останется без background-image.
Andrey Grachov
25 мая 2014, 17:04
1
+1
Правильный вариант выглядит так:
[[phpthumbof? &input=`/assets/resourceimages/[[+id]]/[[+image]]` &options=`h=100&w=100`]]
Если не заработает, можно попробовать [[+property.docid]] вместо [[+id]].
Andrey Grachov
25 мая 2014, 02:00
+1
Насколько я помню, нормального решения этой проблемы нет. Предлагаемое решение — вызывать getImageList с processTV=`0`, а правильную ссылку формировать вручную (/assets/resourceimages/[[+id]]/[[+image]]). Хотя может уже и поменялось что-то с тех пор, как я видел похожую проблему :)
Andrey Grachov
25 мая 2014, 00:08
0
Не используется ли у вас случайно migxResourceMediaPath для картинок?
Andrey Grachov
20 мая 2014, 18:16
+1
Квадратные скобки нужны, чтобы отделить эти условия от всех остальных (в том числе дефолтных), то есть итоговый запрос получится такого вида:
...`product_id` = 1 AND (`description` LIKE '%123%' OR `description` LIKE '%456%' ...) ...
Насчет группировки не понял о чем вы, поскольку в моем примере указана группировка по ID файла. Если картинки в выдаче повторяются — то группировка по ID файла должна убрать дубликаты.
Andrey Grachov
20 мая 2014, 17:04
0
Пишите на andrey.grachov@yandex.ua, помогу решить эту проблему, если еще актуально.
Andrey Grachov
20 мая 2014, 16:57
1
+1
Скорее всего надо так:
groupby=`msProductFile.id` &where=`[[{"description:LIKE":"%123%"},{"OR:description:LIKE":"%456%"},{"OR:description:LIKE":"%789%"]]}`
Andrey Grachov
20 мая 2014, 12:27
1
0
Делал однажды кастомный метод фильтрации для поиска по диапазону возрастов. Пишите на andrey.grachov@yandex.ru, помогу вам.
Andrey Grachov
18 мая 2014, 16:22
+1
Можно в цикле слать несколько запросов на добавление в корзину (по одному для каждого товара из списка) или слать сразу все данные, но написать свой обработчик (серверный), который добавит все в корзину.
Andrey Grachov
14 мая 2014, 01:17
+3
Мне кажется, надо передать &decodeJSON=`0` в вызов pdoField.
Andrey Grachov
09 мая 2014, 13:22
+1
Найденные варианты для MODX Evolution, для Revolution можно воспользоваться сниппетом tagLister, чтобы вывести только те значения, которые назначены хотя бы одному ресурсу.
Andrey Grachov
02 мая 2014, 12:41
0
Вы можете добавить действие «активировать» в контекстное меню, которое будет вызывать ваш процессор. Для этого надо создать файл core/components/migx/configs/grid/grid.GRID_ID.config.inc.php, где GRID_ID — имя конфигурации migxdb. В файле добавить код такого вида:
<?php
$gridfunctions['this.activateRow'] = "activateRow: function(btn, e) {
	alert('Activated row #' + this.menu.record.id);
}";

$gridcontextmenus['activateRow'] = array(
	'code' => "
if (!n.active) {
	m.push({
		text: 'Activate Row',
		handler: 'this.activateRow'
	});
	m.push('-');
}
	",
	'handler' => 'this.activateRow',
);
После этого в редактировании конфигурации migxdb на вкладке с контекстными меню появится новый чекбокс activateRow. В самой функции activateRow у вас есть доступ к гриду и к текущей строке, вы можете вызвать процессор, передав ему нужные данные.
Andrey Grachov
30 апреля 2014, 16:27
+1
switch ($modx->event->name) {
    case 'msOnCreateOrder':
        $order = $modx->getOption('msOrder', $scriptProperties);
        if (!is_object($order)) {
            return;
        }
        foreach ($order->getMany('Products') as $orderProduct) {
            // $orderProduct->get('count') - количество
            // $orderProduct->get('product_id') - ID товара
        }
        break;
}
Andrey Grachov
28 апреля 2014, 01:05
0
Если на процессор идет AJAX запрос, то окно сохранения файла не появится. Чтобы дать возможность сохранить файл, надо оставить код из вашего второго примера (отправляющий нужные заголовки) в процессоре, а в JS «вызывать» процессор таким образом:
window.location.href = ComponentName.config.connectorUrl + '?HTTP_MODAUTH=' + MODx.siteId + '&action=processor/name';
Andrey Grachov
25 апреля 2014, 13:10
0
Я не отрицал их необходимость :) Это скорее было предостережение о том, что при таком подходе в пул-реквест могут случайно уйти лишние изменения.
Andrey Grachov
25 апреля 2014, 12:02
0
Хоть это и внесет сложности, думаю стоит упомянуть про ветки и делать изменения для каждого пул-реквеста в отдельной ветке. Потому что, если пул-реквест отправлен и вы добавите новых коммитов в ту же ветку, они автоматически присоединятся к пул-реквесту. То есть получается, что используя одну ветку, необходимо постоянно ждать пока пул-реквест примут, чтобы сделать следующие изменения.
Также стоит упомянуть, что если правка очень простая и затрагивает один файл, можно сделать изменения прямо на сайте Github в целевом репозитории, что приведет к прозрачному созданию пул-реквеста :)
Andrey Grachov
25 апреля 2014, 11:58
0
Насчет ссылки на репозиторий при push/pull — если хочется указать ее для надежности, можно писать не полную ссылку, а ее дефолтное имя — origin.
Andrey Grachov
20 апреля 2014, 23:07
+1
Да, есть такой момент. Проблема в том, что если на странице нет сниппетов/плагинов, которые инициализируют miniShop2, то скрипты не подключаются. Плагин miniShop2 не производит инициализацию из-за этого условия.