Евгений

Евгений

С нами с 21 октября 2019; Место в рейтинге пользователей: #2895
Евгений
04 ноября 2022, 10:53
0
так сделал $_COOKIE['PHPSESSID']
Евгений
04 ноября 2022, 02:35
0
Как у меня реализовано
1)создана категория с красным цветом
2)в категрии tv со значением color=red(подставить свjи параметры из get)
3)сниппет обертка с разбором гет парамтеров
foreach ($catalog_filter as $param){
$kv = explode('=',$param);
$_GET[$kv[0]] = $_REQUEST[$kv[0]] = $kv[1];
}
Евгений
31 октября 2022, 14:09
0
Получилось вернутся к данному вопросу?
Евгений
31 октября 2022, 14:07
0
Тоже бьюсь с кешированием, обновился до последней версии, кэш создается, но толку от него нет. для меня например критично посадочные страницы, т.е первый лист они самые трафиковые, и конечно снимут нагрузку с сервера, да и приятнее получать листинг не за 800мс, а за 200. тк все эти кликания по кнопкам фильтра понятно, но до этого вообще может и не дойти. есть костыль от Ильи Уткина ilyaut.ru/cheats/caching-mfilter/ и по нему реально прирост идет. Допилил настройкой ТВ на странице, которая включала костыль для определенных страниц, но хочется что то из коробки)) напишите решение до чего добились в производительности
Евгений
24 августа 2022, 15:28
0
там отправляется POST запрос на /assets/components/migx/connector.php
Евгений
19 августа 2022, 06:25
0
вобщем разобрался, всеми виной эта строка
data-data-key="[[+id]]"
заменил на
data-data-key="{$id}"
и все заработало
Евгений
19 августа 2022, 00:00
0
Решил проще, добавил
вывод тэга
<div class="myhard" id="hard-{$id}"></div>
а в него уже на клиенте ждаваскриптом. что то типа на скорую руку.
javascript

$('.myhard').each(function(i,obj) {
            console.log(this.id);
            var s = '<div class="hart">\n' +
                '                        <a class="msfavorites"\n' +
                '                           data-click\n' +
                '                           data-data-list="default"\n' +
                '                           data-data-type="resource"\n' +
                '                           data-data-key="'+this.id.replace("hard-","")+'"\n' +
                '                           data-msfavorites-animation="like.png"\n' +
                '                        >\n' +
                '                            <i class="msfavorites-icon-heart"></i>\n' +
                '                        </a>\n' +
                '                    </div>';
        $(this).append(s);
и все заработало без тормозов
Евгений
18 августа 2022, 22:07
0
tpls как чанк подключен, кэширование фенома отключено по своим причинам. меня больше волнует что там происходит под капотом, буду изучать
Евгений
18 августа 2022, 19:12
0
а на некоторых категориях до 4х мин. пока выпилил с листинга, но тормозов добавляет конечно (((
Евгений
05 мая 2022, 14:51
0
Ждет вас разочарование в изменение кэша, а особенно если будите использовать феном в вашей схеме.

Делюсь опытом:

1) для общих страниц используется отдельный контекст, и храните общие страницы там, а подгружаете их в нужные контексты по 404, по алиасу ресурса, причем урлы можно сделать уникальные, чтобы сделать ресурсы максимально непохожими., но стандартная фция формирования url работать не будет в таком случае.

2) для каждого сайта отдельный контекст(можно групировать через отдельную таблицу несколько сайтов на контекст), для этого создал таблицу с урлами откуда потом можно управлять загрузкой и хранить доп параметры, в том числе и настройками конкретного домена.
3)разворачивать можно в отдельном докер контейнере каждый домен отдельно, где в момент подключения вольюма менять фактическое положение кэша на хост машине, в результате чего на уровне контейнера кэш будет изолирован.
4) картинки лучше вынести на отдельные поддомены, чтобы не пложить одинаковые.

Теперь о грусном, это кэш:

как написали выше «contextKey]/resources/[id]» лучше не делать, дело в том что кэш содержит в основном данные ресурса а вашем случае его плодить ненужно.

можно использовать кэш фенома, но он работает довольно скверно и плодит кучу дублей.

смотрел бы в сторону смарти
Евгений
28 апреля 2022, 18:25
0
мне нужны ids с текущего листинга а не все
Евгений
28 апреля 2022, 17:32
0
ну так сниппет же 2 раза отработает, работать будет в два раза больше
Евгений
28 апреля 2022, 16:53
0
у меня не msearche2 а mfilter2, там сложная выборка по фильтру
Евгений
28 апреля 2022, 15:24
0
не хотелось бы сниппет трогать
Евгений
20 апреля 2022, 17:13
0
попробовал решить так в плагине, но не работает, может подскажите костыль
case 'OnHandleRequest':
       if ($modx->resource->cacheable == false) {
        $pdoTools = $modx->getService('pdoTools');
        $pdoTools->config['useFenomCache'] = null;
}
Евгений
20 апреля 2022, 11:45
0
Судя по стэктрейсу

string(810) "#0 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdotools.class.php(45): pdoTools->setConfig(Array) #1 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdoparser.class.php(24): pdoTools->__construct(Object(modX)) #2 /usr/share/nginx/www/core/xpdo/xpdo.class.php(1236): pdoParser->__construct(Object(modX), Array) #3 /usr/share/nginx/www/core/model/modx/modx.class.php(719): xPDO->getService('parser', 'pdoParser', '/usr/share/ngin...') #4 /usr/share/nginx/www/core/model/modx/modelement.class.php(566): modX->getParser() #5 /usr/share/nginx/www/core/model/modx/modx.class.php(1673): modElement->getProperties() #6 /usr/share/nginx/www/core/model/modx/modx.class.php(568): modX->invokeEvent('OnMODXInit', Array) #7 /usr/share/nginx/www/index.php(50): modX->initialize('web') #8 {main}"

после события OnMODXInit
Евгений
20 апреля 2022, 08:57
0
Неработает, тк в классе pdoTools в setConfig устанавливается
$this->config['useFenomCache'] = $this->modx->getOption('pdotools_fenom_cache', null, false);

До вызова OnHandleRequest

и уже проверка идет в методе fenom
if (!empty($this->config['useFenomCache'])) {

Поэтому установка этого свойства конечно меняет конфиг, но fenom его читает раньше
Евгений
19 апреля 2022, 15:59
0
вопрос был в отключении кэша отдельного ресурса
Евгений
19 апреля 2022, 14:25
0
не совсем понял что у вас написано
Евгений
19 апреля 2022, 14:24
0
Это очень круто, почитал, думаю стоит изучить и внедрить, но быстро мигрировать тем более на бетта версию не выйдет :(

вообще то что получил сейчас это очень большой кэш в папке default/pdotools, на одну страницу приходится по 2 файла кэша, а с учетом того что у меня много ресурсов, + много виртуальных страниц, весь объем диск съедаю за раз. кэшировать все необходимости нет, только посещаемые страницы. но отключить кэш или принудительно включить не могу. в настройках есть только общая настройка pdotools_fenom_cache, отключив которую кэш не формируется, но и основные страницы работают медленно. Как вариант переписать xpdocachemanager.class.php, но там объект modx не содержит ресурса, и управлять кэшированием например через стандартную настройку ресурса возможности нет.