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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
17 февраля 2014, 10:28
0
Возможно ли использование mspRobokassa без miniShop2?
Нет, всё сделано для MS2, вплоть до того, что классы оплаты расширяют базовый класс оплаты компонента.

Пытался разместить запрос в тикетах на store.simpledream.ru/cabinet/tickets/ticket.html, но там так и не загрузился список дополнений
Для этого их нужно сначала купить.
Василий Наумкин
17 февраля 2014, 09:29
+1
$gid = 10; // id группы

$q = $modx->newQuery('modUser');
$q->limit(100,0); // Выбрать первых 100 юзеров
$users = $modx->getCollection('modUser', $q);

foreach ($users as $user) {
	$user->joinGroup($gid);
}
Объектов много, скрипт может не уложиться в лимит времени, поэтому я добавил limit выборки — можно разбить на несколько запусков.
Василий Наумкин
17 февраля 2014, 03:07
0
На строке 401 находится
$this->modx->sendRedirect($this->modx->makeUrl($this->modx->resource->id), array('msorder' => $response['data']['msorder']));
Получается, у тебя нет ресурса при отправке заказа.
Василий Наумкин
17 февраля 2014, 02:58
+2
Убери его из группы, которой даны разрешения для комментирования.
Василий Наумкин
16 февраля 2014, 20:17
0
На test.modx.pro, кстати, ОЗУ ограничено 32 мегабайтами на сайт.

Тут у автора свой скрипт импорта, который не проверяет, возвращает ли процессор галереи ошибку, иначе что-то могло бы проясниться.
Василий Наумкин
16 февраля 2014, 20:14
+1
Можно купить и установить debugParser — очень полезный инструмент. Но он покажет только запросы и время на вызов сниппетов и плейсхолдеров, без всяких внутренних дел движка.

Чтобы видеть все запросы, нужно включать логирование запросов MySql.

Общее количество получается из логики работы:
  1. Нужно получить контекст
  2. Нужно получить ресурс
  3. Нужно получить шаблон ресурса
  4. Достать из БД сниппеты и чанки, указанные в шаблоне
  5. И только потом уже отработает меню и что-там у тебя еще
Так что, 16 запросов — это мало.

Если хочешь натурально ужаснуться от количества запросов — используй Wayfinder и getResources.
Василий Наумкин
16 февраля 2014, 17:41
+1
Когда ты авторизован в админке, выполняются дополнительные запросы для определения твоих привелегий.

Если зайти в анонимном режиме, то первая генерация — 16 запросов, вторая — 0.
Василий Наумкин
16 февраля 2014, 15:23
0
Я ограничений никаких не закладывал.

Возможно, что-то с записями в БД.
Василий Наумкин
16 февраля 2014, 15:20
0
Не знаю, куда копать. У меня такой проблемы нет и больше никто не писал.
Василий Наумкин
16 февраля 2014, 12:18
+1
Исправил — обнови miniShop2 из репозитория.
Василий Наумкин
16 февраля 2014, 07:44
0
1. Что-то я сомневаюсь, что в этом виноват редактор. Никто больше о такой проблеме не писал.

2. Видимо, ты где-то выставляешь плейсхолдер [[+comment]], который попадает в форму комментирования. Можно смело убрать его из формы — он там не нужен и остался с какой-то старой версии.

3. Это только если ты набрал, но не отправил старую форму. Сделано для того, чтобы не рвать на себе волосы при случайном закрытии страницы. Тут подробности.
Василий Наумкин
16 февраля 2014, 07:10
0
в консоли появляются ошибки!
Раз не пишешь, какие — значит, ничего страшного.

Как разберешься в чем дело — пришли pull-request в репозиторий, пожалуйста.
Василий Наумкин
15 февраля 2014, 07:11
+1
Ссылки на соседей выводит pdoNeighbors. Вот мой набор параметров, можно импортировать.

Информацию о тикете выводит TicketMeta, он появился в новых версиях Tickets.
Василий Наумкин
15 февраля 2014, 07:04
+1
Условия в @INLINE чанках не работают.

Задай нормальные чанки, или пропиши в наборе параметров.
Василий Наумкин
15 февраля 2014, 07:02
0
Запрос лучше строить всё-таки через xPDO, а выводить через PDO.

Это можно писать вручную, а можно использовать сниппеты pdoTools и методы самой библиотеки.
Василий Наумкин
15 февраля 2014, 06:26
+2
Вроде это самый простой код, только fetchAll не нужен:
$q = $dbh->prepare("SELECT COUNT(*) FROM amx_bans");
$q->execute();
$count = $q->fetchColumn();
$modx->setPlaceholder($totalVar, $count);
Василий Наумкин
15 февраля 2014, 06:21
0
getTickets не выводит комментарии, он выводит тикеты. А комментарии выводит TicketComments, и у него есть параметр &thread.

Вывести количество комментариев одного тикета можно так:
if ($ticket = $modx->getObject('Ticket', 15)) {
	echo $ticket->get('comments');
}