Помощь Вывод модуля

Тема в разделе "DLE", создана пользователем LEXAlForpostl, 19 мар 2010.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    Написал модуль под ДЛЕ.
    Надо в шаблоне вывести этот модуль.
    В папке engine/modules/mod.php
    PHP:
    <?php


    if( ! defined'DATALIFEENGINE' ) ) {
        die( 
    "Hacking attempt!" );
    }

    $dosessii dle_cache"dosessii"$config['skin'] );

    if( ! 
    $dosessii ) {
        if (
    date("W")<22)
        
    $dosessii=22-date("W");
    if (
    $dosessii%10==and $dosessii!=11)
    $dosessii=$dosessii." неделя";
    else
    $dosessii=$dosessii." недель";



    //    $db->free();
        
    create_cache"dosessii"$dosessii$config['skin'] );
    }
    ?>
    Что надо, чтобы в шаблоне добавить {dosessii} и вывелась строка?
    Пытался в индекс пхп вставить
    PHP:
    $tpl->load_template 'main.tpl' );
    $tpl->set '{dosessii}'$dosessii );

    Не помогло.
    На том месте, где должна выводится строка - пусто; значит что-то не так определил в индекс.пхп
     
  2. azacg

    azacg Создатель

    Регистр.:
    21 дек 2008
    Сообщения:
    15
    Симпатии:
    1
    в DLE же предусмотрено подключение пхп файлом в шаблоны, используйте {include file=""}
    а вот чуток поправленный код:
    Код:
    <?php 
    
    
    if( ! defined( 'DATALIFEENGINE' ) ) { 
        die( "Hacking attempt!" ); 
    } 
    
    $dosessii = dle_cache( "dosessii", $config['skin'] ); 
    
    if( ! $dosessii ) { 
        if (date("W")<22) 
        $dosessii=22-date("W"); 
    if ($dosessii%10==1 and $dosessii!=11) 
    $dosessii=$dosessii." неделя"; 
    else 
    $dosessii=$dosessii." недель"; 
    
    
    
    //    $db->free(); 
        create_cache( "dosessii", $dosessii, $config['skin'] ); 
    } 
    
    echo $dosessii;
    ?>
    
    Дальше просто подключите в нужное место в шаблоне этот файл. Править index.php НЕ нужно.
     
  3. andreaj

    andreaj Создатель

    Регистр.:
    26 мар 2009
    Сообщения:
    26
    Симпатии:
    3
    Можно через index.php, если вам хочется выводить модуль просто тегом {dosessii}
    Я просто не знаю какая у вас версия dle, у меня 7.5, и в index.php я подключаю модуль следующим образом:
    ищите строчки
    PHP:
    define('ROOT_DIR'dirname (__FILE__));
    define('ENGINE_DIR'ROOT_DIR.'/engine');
    require_once 
    ROOT_DIR.'/engine/init.php';
    и сразу после них подключаете свой модуль
    PHP:
    require_once ENGINE_DIR.'/modules/mod.php';
    затем опускаемся ниже и находим строчки
    PHP:
    $tpl->set ... 
    подключаем вывод тегом
    PHP:
    $tpl->set '{dosessii}'$dosessii );  
    теперь можете вставлять свой тег {dosessii} куда вам нужно
     
Статус темы:
Закрыта.