weranda

weranda

Был в сети 15 июня 2025, 09:20
Заказы не принимаю
-1
Кривой кэш — каким-либо образом некорректно скомпилированный/сохраненных код. Я всех тонкостей процесса формирования кэша не знаю, но могу предположить ситуацию: кэш сайта очищен, а кто-то, к примеру, введя URL страницы с какими-то параметрами, вызвав работу какого-то файла, кода и прочее, запустит процесс при котором что-то сформируется не так.
0
0
Перенес все в сниппет:

// получаем значения полей
$num_tv = $modx->resource->getTVValue('num_tv');
$text_tv = $modx->resource->getTVValue('text_tv');

// меняем значения полей
$num_tv += 5;
$text_tv .= 'abc';
        
// устанавливаем значения полей
$modx->resource->setTVValue('num_tv', $num_tv);
$modx->resource->setTVValue('text_tv', $text_tv);

// сохраняем — ХЗ как, тут я не понимаю как
$num_tv->save();
$text_tv->save();

// выводим значение полей      
echo '<p>-NUM_TV: '.$num_tv.'</p>';
echo '<p>-TEXT_TV: '.$text_tv.'</p>';

В общем, видимо где-то что-то я делаю не так. Подскажите пожалуйста что ктонкретно не так на примере, если сможете.
0
Сделал вот так:
$e = &$modx->event;
switch ($e->name) {
    case "OnLoadWebDocument":{
        $my_tv = $modx->resource->getTVValue('test2');
        $my_tv->setTVValue('test2', $my_tv + 5);
    }
}
В системных событиях плагина также отметил поле OnLoadWebDocument и в результате только белая страница.
0
Открыл, посмотрел, увидел код сниппета. Неужели каждый раз при открытии страницы будет MODX будет брать поле со списком и перебирать данные из файла и проделывать еще кучу операций? Как-то это, мне кажется, неправильным. Я думал, что будет в кеше сохранен просто готовый результат работы сниппета в HTML, а не повторение операций. Куда уж логичнее сохранить результат из 10 строк, а не перелопачивать 10 строк TV поля помноженных на 1000 вариантов файла. Или же я чего-то не понимаю, или такое кеширование вызывает подозрение…