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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
13 июля 2013, 18:24
0
Укажи параметр &parent=`id категории`.
Василий Наумкин
13 июля 2013, 18:02
2
0
if (empty($parent)) {$parent = $modx->resource->id;}

$pids = array_merge(array($parent), $modx->getChildIds($parent));
$ids = array();

$q = $modx->newQuery('msProduct');
$q->where(array('class_key' => 'msProduct','parent:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
	$ids = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
}

$q = $modx->newQuery('msProduct');
$q->leftJoin('msCategoryMember', 'msCategoryMember', '`msCategoryMember`.`product_id` = `msProduct`.`id`');
$q->where(array('class_key' => 'msProduct','msCategoryMember.category_id:IN' => $pids,'published' => 1,'deleted' => 0));
$q->select('`msProduct`.`id`');
if ($q->prepare() && $q->stmt->execute()) {
	$ids2 = $q->stmt->fetchAll(PDO::FETCH_COLUMN);
	if (!empty($ids2)) {
		$ids = array_unique(array_merge($ids, $ids2));
	}
}

return count($ids);
Василий Наумкин
13 июля 2013, 11:30
0
А у меня пашет.

Смотри, как работает пагинация в фильтре тут.
Василий Наумкин
13 июля 2013, 06:31
0
Резковато, конечно, но в целом я с тобой согласен.

Те, кто критикуют MS2, не работали толком с другими магазинами в MODX Revo. MS2 не идеален, там много недочетов, но лучше просто нету.
Василий Наумкин
12 июля 2013, 21:03
0
Конечно, тебе виднее, какие данные в таблицах избыточны, а какие нет. Я же их случайно придумал, напихал всего подряд.

Одно хорошо, что это вовсе не проблема — просто не нужно их использовать. Добавляй картинки в ТВ параметры и называй красиво.
Скорость и удобство возрастут в разы.

Извини за сарказм, но иначе реагировать на такую критику не могу.
Василий Наумкин
12 июля 2013, 20:33
0
Сравнение — это сравнение.

А есть и кодировка таблицы — там что?
Василий Наумкин
12 июля 2013, 20:03
0
Проверь кодировку таблиц в БД.

Бывает такое, когда компонент сам создаёт таблицы, а в БД дефолтная latin1.
Василий Наумкин
12 июля 2013, 19:32
0
Так я не понял, MS2 — это хорошо или как? О чем заметка?

Похоже, автор просто хотел вывести мне на главной свою ссылку.
Стоило только открыть регистрацию…
Василий Наумкин
12 июля 2013, 03:14
0
Не сталкивался.

Если там есть ImageMagick, и доступ к нему из консоли — всё должно работать нормально.
Василий Наумкин
11 июля 2013, 19:20
0
Какая версия php, есть ли ошибки в системном журнале?
Василий Наумкин
11 июля 2013, 15:53
0
Вот такие там у меня настройки:
Василий Наумкин
11 июля 2013, 14:22
0
Ну, они более основные и грузятся всегда.

А юзерские — по требованию.
Василий Наумкин
11 июля 2013, 14:17
0
Скорее всего, нужно включить оригинальный процессор:
<?php
require MODX_CORE_PATH . 'model/modx/processors/security/user/get.class.php';

class webUserGetProcessor extends modUserGetProcessor {
	
}
return 'webUserGetProcessor';
Василий Наумкин
10 июля 2013, 16:55
0
1. Не знаю. Пару раз пытался, и удалял через 20 минут — не могу ее понять. С Etomite как то все само получалось.

2. Ты бы еще гитлера попросил, я тебе понаоцениваю, ага. Лучший способ научиться — смотреть и повторять, как делают другие.

Если тебе удобнее пользоваться твоим приложением, чем phpMyAdmin — выкладывай в общий доступ и рекламируй. Если нет — исправляй, пока не станет удобнее.

А у меня времени смотреть нет, извини.
Василий Наумкин
10 июля 2013, 16:40
0
А я начинал сисадмином работать. У меня вообще забавная трудовая биография =)
Василий Наумкин
10 июля 2013, 16:21
0
1. Нужно сделать метод в классе оплаты
2. Нужно проставить плейсхолдер [[+payment_link]] в письме.

Метод выглядит примерно так:
public function getPaymentLink(msOrder $order) {
	$id = $order->get('id');
	$sum = number_format($order->get('cost'), 2, '.', '');
	$request = array(
		'LMI_PAYMENT_NO' => $id
		,'LMI_PAYMENT_AMOUNT' => $sum
		,'CLIENT_MAIL' => $order->getOne('UserProfile')->get('email')
		,'LMI_PAYMENT_DESC' => 'Payment #'.$id
		,'LMI_PAYEE_PURSE' => $this->config['shopId']
	);
	return $this->config['checkoutUrl'] .'?'. http_build_query($request);
}

Он сразу есть, например, в mspZPayment, а вот в PayPal его реализовать нельзя из-за особенностей этого сервиса.

У писем из нашего магазина, кстати, эта ссылка в наличии.