Задать вопрос
@m4son

Почему в Битриксе создание кэша ломает порядок вывода контента?

Есть собственный компонент, у которого настроено вот такое кэширование:
$obCache = new \CPHPCache; 
.....

// создаем кэш если нет
if($obCache->StartDataCache($life_time, $cache_id, $cacheDir)) {
  ...

  $templateCachedData = $this->GetTemplateCachedData();
  $this->IncludeComponentTemplate();
  $obCache->EndDataCache(
    array(
      "arResult" => $arResult,
      "templateCachedData" => $templateCachedData
    )
  );
} else {
  // получаем закешированные переменные
  extract($obCache->GetVars());
  // выводим кэш
  $this->SetTemplateCachedData($templateCachedData);
}

И проблема в том, что когда кэша нет, нарушается вывод html на страницу. При выводе данных из кэша все ок.

Допустим, если перед выводом компонента вывести строку вот так:
echo "11111111";
$APPLICATION->IncludeComponent(...)

то сформируется содержимое компонента, подвал битрикса, и потом только (почти перед
  • Вопрос задан
  • 4 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы