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

Иван Бочкарев
27 января 2015, 12:35
0
Данное дополнение конфликтует с установленным ajaxmanager-1.2.0-pl.
Переходим в меню — Пользователи -> выбираем пользователя -> кликаем редактировать = получаем страницу пустую страницу с заголовком в админке — Новый пользователь

Скриншот: take.ms/Raif6

Отключаешь ajaxmanager — все ОК.
Алексей
27 января 2015, 11:48
0
все круто, только превью создаваемые на стороне клиента с помощью plupload'a никуда не годятся.
пробовал раскоммитить качество на сотню тут: github.com/bezumkin/ms2Gallery/blob/master/assets/components/ms2gallery/js/mgr/uploader.grid.js#L154
ну и собственно на чем споткнулся: 3 фото
1 — исходник
2 — plupload сжал высоту до 600px
3 — photoshop сжал высоту до 600px
тема на гитхабе: github.com/moxiecode/plupload/issues/707 давно раскрыта, и есть хорошие альтернативы plupload'у
Наумов Алексей
27 января 2015, 10:16
0
почему бы не сделать это в сниппете? Зачем городить такую штуку?

MySnippet:
$param = empty($_GET['param']) ? '' : $_GET['param'];
...
Константин
27 января 2015, 10:14
0
Неужели нет ничего подобного в типовом функционале?

Мне эти параметры нужны для вызова в сниппетах. Т.е. если не использовать pdoTools придется писать что-то типа:

[[!MySnippet? &param_from_get=`[[GET? &param_name=`param`]]`]]
Alexander V
27 января 2015, 09:36
0
Та же песня.
Василий Наумкин
27 января 2015, 07:03
0
'id:IN' => $ids,
Указание parents и так выберет нужные id товаров с учетом мультикатегорий MS2.

Работает ровно как указание parents в msProducts и pdoResources.
Виталий Серый
27 января 2015, 00:57
0
pdoTools с включенным собственным парсером умеет это из коробки, очень удобно.
docs.modx.pro/components/pdotools/parser
Павел Левин
26 января 2015, 23:22
0
pdoNeighbors ругается, наверное вызов устарел?

[pdoTools] Error 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '365) AND `modResource`.`published` = 1 AND `modResource`.`hidemenu` = 0 AND `mod' at line 1
[2015-01-26 23:08:23] (ERROR @ /core/cache/includes/elements/modsnippet/104.include.cache.php: 109) PHP warning: array_flip(): Can only flip STRING and INTEGER values!
[2015-01-26 23:08:23] (ERROR @ /core/cache/includes/elements/modsnippet/104.include.cache.php: 113) PHP warning: Invalid argument supplied for foreach()

Вызовы
[[pdoNeighbors? &id=`[[*id]]` &context=`[[*context_key]]` &showHidden=`0` &tplUp=`@INLINE <span class="link-up"><a href="/[[+uri]]">↰<br />[[+pagetitle]]</a></span>`]]

[[pdoNeighbors? &id=`[[*id]]` &context=`[[*context_key]]` &sortby=`publishedon` &sortdir=`asc` &showHidden=`0` &tplUp=`@INLINE <span class="link-up"><a href="/[[+uri]]">↰<br />[[+pagetitle]]</a></span>`]]

Павел Левин
26 января 2015, 23:02
0
Теперь pdoPage молчит и работает.
Максим Кузнецов
26 января 2015, 22:41
0
Там, случайно, не [[+page.total]] нужно?
Павел Левин
26 января 2015, 22:37
0
А [[+total]] более не поддерживается?

Вывод общего числа страниц.
Максим Кузнецов
26 января 2015, 22:34
0
Оу, большое спасибо! Даже не думал, что так легко можно их зассумонить.

Вот что вышло (вывожу минимальную цену товара из категорий, включая мультикатегории, имея список id товаров):
$pdo = $modx->getService('pdoFetch');
	$result = $pdo->getArray(
		'msProduct',
		array(
			'deleted' => false,
			'published' => true,
			'Data.price:>' => '0',
			'id:IN' => $ids,
		),
		array(
			'innerJoin' => array(
				'Data' => array('class' => 'msProductData')
			),
			'select' => array('Data' => 'price'),
			'sortby' => 'Data.price',
			'sortdir' => 'asc',
			'limit' => '1',
		)
	);
	if (!empty($result)) {
		if (substr($result['price'], -3, 3) == ".00") {
			$min = substr($result['price'],0,-3);
		}
		$modx->setPlaceholder('catalog.min',$min);
	}
Василий Наумкин
26 января 2015, 22:03
6
0
$pdo = $modx->getService('pdoFetch');
$result = $pdo->getArray(
	// Класс
	'msProduct',
	// Условие where
	array(
		'deleted' => false,
		'published' => true,
	),
	// Параметры выборки
	array(
		'parents' => 5, // Категория с товарами
		'innerJoin' => array(
			'Data' => array('class' => 'msProductData')
		),
		'select' => array('Data' => 'price'),
		'sortby' => 'Data.price',
		'sortdir' => 'asc',
	)
);
if (!empty($result)) {
	echo $result['price'];
}
// При желании можно лог посмотреть
echo '<pre>';
print_r($modx->getPlaceholder('pdoTools.log'));
Максим Кузнецов
26 января 2015, 20:47
0
Слегка обновил последнюю часть до:
$q = $modx->newQuery('msProduct');
	$q->innerJoin('msProductData', 'msProductData', '`msProductData`.`product_id` = `msProduct`.`id`');
	$q->where(array('msProduct.id:IN' => $ids, 'msProductData.price:>=' => "0"));
	$q->sortby('msProductData.price', 'DESC');
	$q->select('`msProductData`.`price`');
	$q->limit(1);
	if ($q->prepare() && $q->stmt->execute()) {
		$min = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
		if (!empty($min['price'])) {
			$modx->setPlaceholder('catalog.min',$min['price']);
		}
	}
— но все равно нет никакого результата и в логах пустота…
Дмитрий Середюк
26 января 2015, 19:57
0
спасибо большое!
Василий Наумкин
26 января 2015, 17:55
0
То есть, создай системную настройку ms2_cart_max_count и укажи нужное количество.
Василий Наумкин
26 января 2015, 17:55
0
Как-то я пропустил, прошу прощения.

Ответил.
Василий Наумкин
26 января 2015, 17:35
0
Это, как бы, уже есть — вот анонс для miniShop2, а оттуда функция переехала и в ms2Gallery.

Просто разреши нужные типы файлов в настройке источника медиа.