Как добавить шаблонный тег

Шаблонные теги позволяют подключать исполняемый код в определенное место сайта.

Исполняемый код может быть общего характера или относится к модулю.

Если нужно добавить код общего характера, то создаем общий шаблонный тег. Для этого добавляем функцию в класс Theme_functions описанный в файле includes/function.php. Новая функция должна иметь доступ publiс. Теперь шаблонный тег с названием функции можно использовать.

Функции можно передавать атрибуты тега. Для этого функция должна принимать аргумент – массив атрибутов.

Пример:
public function show_text($attributes

    if($attributes["type"] == 1
    
        echo "Текст первого типа"
    
    else 
    

        echo "Текст второго типа"
    

тег <insert name="show_text"> выведет «Текст второго типа»
тег <insert name="show_text" type="1"> выведет «Текст первого типа»

Если код связан с модулем, значит шаблонную функцию нужно добавлять в контроллер модуля. Так как модуль основан на патерне MVC, шаблонный тег должен иметь свою функцию в модели модуля и в шаблоне, а основная шаблонная функция, определенная в контроллере.

Пример:
//в файле modules/news/news.php определена шаблонная функция show_date 
public function show_date($attributes

    include_once(ABSOLUTE_PATH.'modules/news/news.model.php'); 
    $model  = new News_model($this->diafan); 
    $result = $model->date($attributes["day"]); 
    $this->diafan->_tpl->get('date', 'news', $result); 
    return TRUE;     

//в файле modules/news/news.model.php 
public function date($day

    if($day
    
        $date = $day.date(".m.Y"); 
    
    else 
    

        $date = date("d.m.Y"); 
    
    return $date;     

//в файле modules/news/news.view.php 
public function date($date

    echo '<div class="news_date">'.$date.'</div>'


Не понятно? Уточните