• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Как реализовать кэширование для модуля 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');
 
Назад
Сверху