Dmitry Rodionov

Dmitry Rodionov

С нами с 01 сентября 2013; Место в рейтинге пользователей: #153

Redis Cache (xPDORedisCache)

Решил попробовать использовать redis кэш для modx
создал класс xPDORedisCache, особо не заморачивался переписал мемкеш класс, но возникает проблема, идет пустая выдача и в логе:
modExtensionPackage::loadCache() is not a valid static method.
в общем логе:
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Warning:  Invalid argument supplied for foreach() in /var/www/core/model/modx/modcontext.class.php on line 101
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Warning:  array_merge(): Argument #2 is not an array in /var/www/core/model/modx/modx.class.php on line 2306
[Fri Apr 08 23:00:11 2016] [error] [client 130.193.37.24] PHP Fatal error:  Class 'modUser_' not found in /var/www/core/xpdo/xpdo.class.php on line 770
Есть какие идеи куда копать?

UPD: 2016-04-10
Решение далось легко, забыл указать сериализацию
$this->redis->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP);
Устанавливается в /core/xpdo/cache/
в настройках cache_handler = cache.xPDORedisCache
Доступные опции:
redis_server — строка с данными для подключения 'localhost:6379'
redis_auth — пароль для аутентификации
redis_db — целое число >= 0
cache_prefix — по желанию, по сути если задать в redis_db разные значения для разных сайтов, будет то, что надо

Код xpdorediscache.class.php ниже:
Dmitry Rodionov
08 апреля 2016, 22:08
modx.pro
15
6 399
+5

pdoTools и более 60 TV параметров в запросе

При попытке выбрать 100 TV полей pdoTools ничего не выводит кроме mysql ошибке в логе:
«Too many tables; MySQL can only use 61 tables in a join»

Есть ли быстрый способ это обойти или все же придется писать свой процессинг?

P.S. Сто полей конечно много, но что поделать, если у товара столько параметров, управлять ими через migx не удобно, да и заливать их туда тоже (спарсил со старого сайта).
Dmitry Rodionov
25 мая 2015, 23:08
modx.pro
1 414
0

Потеря данных в сессии

Давно уже задаюсь вопросом почему теряются данные в сесии и как этого избежать. Гуглил но ничего толкового не нашел.
Dmitry Rodionov
16 мая 2015, 21:45
modx.pro
2 309
0

Фильтрация TV параметров в MS2

при установке параметра в сниппете msProducts в такое значение
&tvFilters=`DATE(trade_day)==CURDATE()`
в запросы выходит
DATE(`TVtrade_day`.`value`) LIKE 'CURDATE()'
CURDATE() берется в кавычках, а надо без, как можно это обойти?
Можно ли это как то обойти через where запрос?
Dmitry Rodionov
18 апреля 2014, 12:24
modx.pro
1
1 694
0