Перейти к публикации

Как правильно реализировать кэширование в модуле?


Рекомендованные сообщения

Пишу модуль, нужно сделать в нем кеширование, блоки которые вывожу на главной и вдругих разделах кеширую вот таким скриптом.


$cache_lifetime = 900;  //время кеширования 15 минут

$uri = 'blok_'.$id;

$cache_id = md5($uri);

$cache_file = "engine/cache/" . $cache_id . ".html";

$cache_content = false;


if ( file_exists($cache_file) ) {

  $cache_modified = time() - @filemtime($cache_file);

  if ( $cache_modified < $cache_lifetime ) {

    $cache_content = file_get_contents($cache_file);

$tpl= $cache_content;

}

}

if ($tpl==''){

$tpl=мои команды которые должен делать модуль

}

if ( $cache_content === false ) {


  /* генерирование страницы */

  $cache_content = $tpl;

  ob_end_clean();

  $fp = @fopen($cache_file, "w");

  if ( $fp ) {

    @fwrite($fp, $cache_content);

    @fclose($fp);

  }

}

echo $tpl;

Но в модуле, так же есть отдельный раздел, реализирован через шаблонизатор

if(isset($_GET['parametr'])){

///какойто код.....



$metatags['description'] = 'Описание ';

$metatags['header_title'] = ' '.$name[1];

$tpl->load_template( 'tv/day.tpl' );

$tpl->set( '{pages}', '' );

$tpl->set( '{description}', 'Описание');

$tpl->set( '{content}', $tpl_content );

$tpl->set( '{time}', '<div>'.$timez[1]);

$tpl->set( '{logo}', $logo[1]);

$tpl->set( '{name}', $name[1]);

$tpl->compile( 'content' );

$tpl->clear();


}

как правильно средствами DLE, можно сделать в этом разделе кэширование, и есть ли возможность указывать время кеширования?

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...