Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #5
11 декабря 2018, 10:40
+3
П.С. Не знаю, аксакал я или нет, но просил ревью, получай )
11 декабря 2018, 10:37
+3
Позволю себе выложить решение с помощью modHelpers.
$usergroup = 1;
users()
        ->profile()
        ->select(['modUser.id, modUser.username, Profile.fullname, Profile.email' ])
        ->members($usergroup )
        ->where(['active' => true])
        ->each(function($user) {
              foreach($user as $key => $value) {
                  echo $key, ": ", $value, "< br>";  // Убрать пробел
              }
              echo "< br>";  // Убрать пробел
              // Ну и всем пользователям группы указываем значение потраченных денежек на покупку
              object('msCustomerProfile',$user['id'])->set(['spent' => 15000]);
});
// Сбрасываем кэш (если нужно)
$modx->cacheManager->refresh();
Но это, конечно, очень не оптимально.Такой код оправдан только если нужно выводить данные каждого пользователя. Вопрос — а нужно ли?

Вот оптимизированный вариант. Всего 2 запроса к БД
$usergroup = 1;
$ids = users()
        ->members($usergroup)
        ->where(['active' => true])
        ->get('id');

collection('msCustomerProfile', ['id:IN' => $ids])->set(['spent' => 15000]);

// Сбрасываем кэш (если нужно)
$modx->cacheManager->refresh();
По-моему, выглядит покороче и попроще )
11 декабря 2018, 10:28
+2
У меня только один вопрос — зачем в цикле сбрасывать кэш сайта? Хотя есть ещё один — а нужно ли вообще его сбрасывать?

П.С. Кроме того, не понятно, зачем подгружать коллекцию объектов для того, чтобы потом перевести в массив?
10 декабря 2018, 21:45
+1
Извиняюсь, что вмешиваюсь, но ссылка ведёт на статью про pdoTools. Ни одного упоминания не увидел.
06 декабря 2018, 22:22
0
Есть вопрос. Возможно ли отфильтровать данные по диапозонам ip адресов?
siteStatistics ведёт статистику. А вот анализом придётся заняться самому. Можно через pdoResources.

Как получить статистику например увидеть на каких страницах были клиенты?
Открываете список пользователей и кликаете на кнопку «Статистика по ресурсам».
01 декабря 2018, 12:22
0
И столкнулся с тем, что невозможно прочесть описание, которое открывается при клике на плюс. Оно выводится одной строкой и даже раздвинув поле на весь экран я не могу его прочесть на мониторе 29 дюймов.
Уже пожаловались.
01 декабря 2018, 12:00
0
Видимо установлено какое-то шибко древнее дополнение.
01 декабря 2018, 11:51
0
Моё мнение — данная фича вообще не нужна в ядре. Вещь специфическая — одному нужно так, другому эдак. Причем в первом ресурсе нужно указать шаблон. Иначе у всех остальных тоже будет пусто. Это нужно держать в голове.
Эту задачу можно легко решить через плагины.
01 декабря 2018, 11:21
0
Берётся шаблон последнего ресурса текущего родителя. Причём логика такая — если у него нет шаблона, то и у создаваемого не будет.
01 декабря 2018, 10:28
+2
Разрешите поискать за Вас — поиск.
01 декабря 2018, 10:21
+1
Спасибо!
01 декабря 2018, 08:16
0
Можешь подсказать чего и где нужно подкрутить?
30 ноября 2018, 18:53
+1
29 ноября 2018, 19:57
0
Тогда странно, что они сами не исправили вызовы устаревших функций.
29 ноября 2018, 19:04
+1
Да ладно. А это что?
29 ноября 2018, 18:14
0
Вань, а зачем по-умолчанию эта фича включена? Валятся ошибки из ядра. Зачем это вываливать конечным пользователям? Включили бы на время тестирования, вычистили и отключили.
29 ноября 2018, 18:09
+1
Придётся подождать, когда появится свободное время. Ждём… Ждём… Ждём… ))
29 ноября 2018, 18:05
0
Чего-то перемудрили с меню. Пользовательский пункт съехал
28 ноября 2018, 09:47
0
Если что у меня версия движка MODX Revolution 2.2.14-pl (traditional)
Подскажите, что делаю не так?
Нужно чуть больше молиться. Чтобы защищало не только от взлома сайта, но и телепатические способности усиливало. ))