Как не кэшировать плейсхолдер?
        Всем доброго дня. Хочу сделать плагин для определения мобильных устройств и результат вывести в плейсхолдер:
    
    
                                                                                
            $mobile=0;
$mobile_agent_array = array('ipad', 'iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser');
$agent = strtolower($_SERVER['HTTP_USER_AGENT']); 
foreach ($mobile_agent_array as $value) {
	if (strpos($agent, $value) !== false)
	{
	    $mobile=1;
	}
}
$modx->setPlaceholder('mobile',$mobile);
return;Привязываю к событию OnWebPageInit. Проблема в том, что результат кэшируется — с какого устройства первым зашёл, такое и остаётся до очистки кэша. Как можно побороть?    Комментарии: 4
                [[+mobile]] — кешируемый
[[!+mobile]] — не кешируемый
                    [[!+mobile]] — не кешируемый
                Спасибо! Я думал "!" только к сниппетам применим. Я еще одно решение нашёл — привязал плагин к событию OnLoadWebPageCache.            
                    
                OnLoadWebPageCache — Запускается при загрузке ресурса из кэша. 
А если страница не закешена?
                    А если страница не закешена?
                Тоже об этом подумал, хотел к 2-м событиям привязать, но восклицательный знак всё же проще.            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.