Для тех, кто ещё не умеет правильно писать модули для DLE эти сниппеты будут крайне полезны.
Сниппеты приведены без комментариев для непосредственной вставки в файл и лёгкого старта.
Полная же инструкция по созданию модуля без админки с конкретным примером находится тут
Заготовка для модуля с кешированием, без шаблона
PHP код:
<?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 код:
<?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;
?>