CMS DataLife Engine - Система управления сайтами

Sign in to follow this  
webair

dle_cache()

Recommended Posts

Пишу модуль, подключаемый через include в tpl.

 

При подключении модуля подхватываются все функции DLE, поэтому нет смысла изобретать свои велосипеды для кеширования и подключать api dle.

Но dle_cache() не содержит времени жизни кеша, это ошибка? Ведь в API DLE есть этот параметр. И вообще, некоторые функции dle и dle api отличаются и по названию и по содержанию. Кажется, api давно не актуализирован.

 

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

Edited by webair
  • Like 1

Share this post


Link to post
Share on other sites
26 минут назад, webair сказал:

Пишу модуль, подключаемый через include в tpl.

 

При подключении модуля подхватываются все функции DLE, поэтому нет смысла изобретать свои велосипеды для кеширования и подключать api dle.

Но dle_cache() не содержит времени жизни кеша, это ошибка? Ведь в API DLE есть этот параметр. И вообще, некоторые функции dle и dle api отличаются и по названию и по содержанию. Кажется, api давно не актуализирован.

 

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

Переназначить конфиг перед вызовом функции. Костыли - это то чем живет DataLife Engine.

Edited by Gameer
  • Like 1

Share this post


Link to post
Share on other sites
28 минут назад, Gameer сказал:

Переназначить конфиг перед вызовом функции. Костыли - это то чем живет DataLife Engine.

Спасибо за подсказку :)

Это так... Послание для будущих поколений:D

if ($my_cache_time>0){                          // Если в моем модуле задано время жизни кеша > 0
	$cache_original = $config['clear_cache']; // Сохраняем оригинальное
	$config['clear_cache'] = $my_cache_time;  // Заменяем на свое
	$cache = dle_cache("mymodulename",$mydata);
	$config['clear_cache'] = $cache_original; // Меняем обратно
} else {                                         // Иначе, используем время из конфига
	$cache = dle_cache("mymodulename",$mydata);
}

 

Share this post


Link to post
Share on other sites
2 часа назад, Яйцерезка сказал:

Я обычно заменяю функцию dle_cache() на патченную, где есть таймаут и другие полезные фишки.

Какой смысл вашего комментария без кода?

А я обедаю обычно в 12:30

Share this post


Link to post
Share on other sites
22 часа назад, webair сказал:

Какой смысл вашего комментария без кода?

А я обедаю обычно в 12:30

Ну вы же разработчик, сами думаю сможете накидать...
Мой пост был для того что бы разработчик обратил внимание что это не единичная проблема одного конкретного человека.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this