Наведу пример, как подключить модуль к ДЛЕ и сделать для него кеширование
Допустим есть скрипт eventstatus.php который вы хотите подключить и закешировать.
Делаем это так:
1) открыть engine\init.php в самом низу перед: ?> добавьте:
// Описание скрипта
require_once ENGINE_DIR.'/lineage/eventstatus.php';
сохраняем, закрываем
2) открыть корневой index.php найти
$tpl->set('{calendar}', $tpl->result['calendar']);выше или ниже добавить:
// Назначаем теги
$tpl->set('{eventstats}', $eventstats);
// Назначаем тегисохраняем, закрываем
3) подготавливаем наш РНР-скрипт для работы с ДЛЕ. Создаём новый РНР-файл с таким содержанием:
<?php
/*
================================================
Статуса эвентов на главную
================================================
Данный код защищен авторскими правами
================================================
Файл: eventstatus.php
----------------------------------------------------------
Назначение: вывод статуса эвентов
================================================
*/
if(!defined('DATALIFEENGINE'))
{
die("Попытка проникновения !");
}
$eventstats = dle_cache("eventstats", $config['skin']);
if (!$eventstats)
{
=== ВОТ СЮДА ВСТАВЛЯЕМ СВОЙ РНР-КОД СКРИПТА ===
create_cache ("eventstats", $eventstats, $config['skin']);
}
?>Послесловие: переменная $eventstats - это пример, вместо неё нужно указать ту, которая у вас отвечает за вывод, также везде её поменять ! Пути к файлу скрипта также указывайте свои !
Если вы всё сделали правильно, в папке engine\cache появится новый файл, например у меня это eventstats_lostworld.tmp, который содержит закешированные, уже скомпилированные результаты выборки.
P.S.S. Я не думаю, я знаю, что данный урок поможет многим подключать внешние компоненты к DataLife Engine.
Для любителей более изощьрённого метода:
if(get_vars("rewrite") > $_TIME - 3600)
{
$content = get_vars("testfile");
echo $content;
}
else
{
сюда вставить код скрипта
set_vars("rewrite", $_TIME);
set_vars("testfile", $content);
}Рефреш кеша - 1 час