Template tags parser

Template tags cause execution of functions or include files. Parsing the template files and the connection logic described in the file includes/parser_theme.php, class Parser_theme. The module object of this class is available through a variable $this->diafan->_parser_theme. In common template tags (files from the folder themes/functions) object class is available through a variable $this.

Свойства

var current_module – текущий модуль, для котого вызвана шаблонная функция.

var is_tag – в текущий момент исполняется шаблонный тег.

Методы

void show_theme () – Подключает шаблон.

Example:

// connect the page template in the file includes/init.php
$this->_parser_theme->show_theme();

string get_function_in_theme (string $text, [boolean $php = false]) – Парсит шаблон.

  • string $text: содержание шаблона
  • boolean $php: исполнять PHP-код

Example:

$text = 'It displayed the news block: <insert name="show_block" module="news">';
echo
$this->diafan->_parser_theme->get_function_in_theme($text);
/* Result:

    It displayed the news block:

        1 may
        Beginning May holidays

        2 may
        Continuation of the May holidays
*/

void functions (string $name, [array $attributes = array()]) – Подключает файл, описывающий общий шаблонны тег.

  • string $name: название шаблонного тега
  • array $attributes: template tag attributes

Example:

// connect template tag <insert name="show_h1">
// in tag <insert name="show_body">
// file themes/functions/show_body.php
$this->functions('show_h1');


// connect template tag <insert name="show_year" year="2009">
$this->functions('show_year', array('year' => 2009));

array get_attributes (array $attributes) – Задает неопределенным атрибутам шаблонного тега значение по умолчанию.

  • array $attributes: массив определенных атрибутов

Example:

// set the attributes for tag <insert name="show_href">
// file themes/functions/show_href.php
$attributes = $this->get_attributes($attributes, 'rewrite', 'img', 'img_act', 'width', 'height', 'alt');