Помощь Как реализовать кэширование для модуля DLE?

Attyla

Профессор
Регистрация
21 Ноя 2012
Сообщения
160
Реакции
44
Как реализовать кэширование в модуле, если в модуле такие строки:

PHP:
$sql_result = $db->query( $sql_request );
$found_result = $db->num_rows( $sql_result );
$result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" );
$count_result = $result_count['count'];

$tpl->load_template( '/personaj.tpl' );
$build_navigation = false;
include (ENGINE_DIR . '/modules/show.custom.php');

$tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] );
$tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] );
if( $config['files_allow'] )
if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
$tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
}

Я так понял выборка из бд передается в show.custom.php, чтобы был наложен шаблон на все строки выборки. А как сделать так, чтобы модуль создавал кэш в данном случае?
Спасибо.
 
show.custom.php нету кеширования, да оно там и не нужно. Данные то не статичные, постоянно динамич. думаю поняли меня
 
show.custom.php нету кеширования, да оно там и не нужно. Данные то не статичные, постоянно динамич. думаю поняли меня
Кто тебе сказал этот бред? custom уже несколько версий как кэшируется...
{custom id="1,2,5-8" category="2,3,5-8" author="x" days="x" template="custom" aviable="global" navigation="no" from="0" limit="10" fixed="yes" order="date" cache="yes"}

cache принимает значения yes или no - устанавливает кешировать вывод или нет, рекомендуется кешировать для снижения нагрузки.

Так что кэш в show.custom.php есть...

Что касается ТС, для тебя есть прекрасная возможность использовать использовать API:
$dle_api->save_to_cache ( string $fname, mixed $vars); //Записать в кеш
$dle_api->load_from_cache ( string $fname, [, int $timeout [, string $type]]); //Читать из кеша
$dle_api->clean_cache ( [string $name] ); //Удалить из кеша
$dle_api->get_cached_files(); //Получение массива содержащего названия файлов кеша.

Для доступа к API достаточно прописать:
include ('engine/api/api.class.php');
 
Назад
Сверху