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

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


     01.10.2013    PHP Сниппеты    3727


Для тех, кто ещё не умеет правильно писать модули для 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;
?>

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