Наведу пример, как подключить модуль к ДЛЕ и сделать для него кеширование
Допустим есть скрипт 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 час