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

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

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
11 декабря 2018, 18:22
0
Что-то типа истории как это было. Почему решился, что даёт, какие плюсы минусы. Ты выше коротенько писал про сервер, версию light и т.д.
Интересно впечатление. Я выбрал Laravel. Ты ноду. Я в свое время тоже хотел погружаться в неё, но одумался :)
Сергей Шлоков
11 декабря 2018, 17:59
0
А вот минус поставить никогда не сложно :)
Да, можно уже вводить номинацию «Золотой минус года». И я даже знаю победителя ;)

П.С. Я бы почитал про опыт работы с нодой. Планируешь написать?
Сергей Шлоков
11 декабря 2018, 13:38
0
А вот с коллекцией не совсем понял. А как иначе?
Поищи тут статьи Василия про xPDO.

Лично мне нужно сбрасывать кэш, т.к. данные потраченных денег, я вывожу на фронте у авторизированных пользователей через сниппет. При отработке скрипта без чистки кэша, на фронте данные не меняются, только если очистки кэша.
Такие вещи нужно выводить через некэшированные сниппеты.
Сергей Шлоков
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
Можешь подсказать чего и где нужно подкрутить?
Сергей Шлоков
29 ноября 2018, 19:57
0
Тогда странно, что они сами не исправили вызовы устаревших функций.
Сергей Шлоков
29 ноября 2018, 19:04
+1
Да ладно. А это что?