Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Сниппеты » PHP Сниппеты » Сниппет модуля для DLE с кешированием и шаблоном

Сниппет модуля для DLE с кешированием и шаблоном


     01.10.2013    сниппет, php, модуль    PHP Сниппеты    6055


Для тех, кто ещё не умеет правильно писать модули для DLE эти сниппеты будут крайне полезны.
Сниппеты приведены без комментариев для непосредственной вставки в файл и лёгкого старта.
Полная же инструкция по созданию модуля без админки с конкретным примером находится тут

Заготовка для модуля с кешированием, без шаблона

<?php
if (!defined('DATALIFEENGINE')) die("Go fuck yourself!");
$myConfig  = array(
    'cachePrefix' => !empty($cachePrefix) ? $cachePrefix : 'archives',
    'cacheSuffix' => !empty($cacheSuffix) ? $cacheSuffix : false
);
$cacheName = md5(implode('_', $myConfig));
$myModule  = false;
$myModule  = dle_cache($myConfig['cachePrefix'], $cacheName . $config['skin'], $myConfig['cacheSuffix']);
if (!$myModule) {
    $myModule = 'Hello World!'; // Результат работы модуля.
    create_cache($myConfig['cachePrefix'], $myModule, $cacheName . $config['skin'], $myConfig['cacheSuffix']);
}
echo $myModule;
?>


Заготовка для модуля с кешированием и шаблоном

<?php
if (!defined('DATALIFEENGINE'))
    die("Go fuck yourself!");
$userName  = !empty($userName) ? $db->safesql(strip_tags(stripslashes($userName))) : false;
$myConfig  = array(
    'template' => !empty($template) ? $template : 'default',
    'cachePrefix' => !empty($cachePrefix) ? $cachePrefix : 'news',
    'cacheSuffix' => !empty($cacheSuffix) ? true : false
);
$cacheName = md5(implode('_', $myConfig));
$myModule  = false;
$myModule  = dle_cache($myConfig['cachePrefix'], $cacheName . $config['skin'], $myConfig['cacheSuffix']);
if (!$myModule) {
    if (file_exists(TEMPLATE_DIR . '/' . $myConfig['template'] . '.tpl')) {
        if (!isset($tpl)) {
            $tpl      = new dle_template();
            $tpl->dir = TEMPLATE_DIR;
        } else {
            $tpl->result['myModule'] = '';
        }
        $tpl->load_template($myConfig['template'] . '.tpl');
        $myVar = 'Hello World!'; // Результат работы модуля.
        $tpl->set('{tag_name}', $myVar);
        $tpl->compile('myModule');
        $myModule = $tpl->result['myModule'];
        create_cache($myConfig['cachePrefix'], $myModule, $cacheName . $config['skin'], $myConfig['cacheSuffix']);
        $tpl->clear();
    } else {
        $myModule = '<b style="color:red">Отсутствует файл шаблона: ' . $config['skin'] . '/' . $myConfig['template'] . '.tpl</b>';
    }
}
echo $myModule;
?>

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх