Регистрация
Вход через соцсети
Восстановление пароля

Кэширование и заголовок страницы

Новый топик
30.10.2009, 01:37
Ответить | Цитировать
Гость
Гость

Для вывода заголовка страницы (title) я использую такую конструкцию в макете дизайна:
Код:

if (!empty($f_Title)) echo $f_Title;
elseif (!empty($f_title)) echo $f_title;
elseif (!empty($f_name)) echo $f_name;
else echo $current_sub['Subdivision_Name'];


В поле "Заголовок страницы" соответствующего шаблона стоит $f_Title . Всё работало, пока я не стал использовать кэширование для определённых разделов. Теперь при заходе на страницу с новостью (для раздела Новости включено кэширование), к примеру, сначала выводится заголовок новости в title, но после перезагрузки страницы выводится уже заголовок раздела. И так со всеми новостями. Как решить эту проблему?
31.10.2009, 01:12
Ответить | Цитировать
Гость
Гость

При первом открытии страницы с отображением объекта в переменной $f_title находится правильное значение, а при последующих, когда содержимое уже закешировано, переменная почему-то содержит название раздела. Установлены все обновления до 355 включительно.

Правильный тайтл приходится тянуть запросом из базы:

if($action=="full"&&$classID&&($TitleTemplate=listQuery("select TitleTemplate from Class where Class_ID=$classID", "$data[TitleTemplate]"))){
preg_match_all('/$f_([a-zA-Z_0-9]+)/', $TitleTemplate, $varNames);
$varNames=$varNames[1];
foreach($varNames as $key=>$val){
${"f_".$val}=listQuery("select ".$val." from Message$classID where Message_ID=".$message, "$data[".$val."]");
}
eval("$mytitle="".$TitleTemplate."";");
echo $mytitle;
}
31.10.2009, 01:15
Ответить | Цитировать
Гость
Гость

Первый запрос не нужен, шаблон тайтла есть в переменной $current_cc["TitleTemplate"]
198 196 2009-10-31 01:15:44 7798
Описание проекта