Управление генерацией страницы

Материал из AOW

Перейти к: навигация, поиск

Содержание

Что нового

С ревизии 2132 изменен механизм генерации страницы, функционал файлов

/main_inc/main_tmpl.php и /main_inc/admin_tmpl.php 

перенесен в ядро.

Шаблоны страницы

Все главные шаблоны страниц расположены в

/main_inc/main_tmpl
  • Переменные в главных шаблонах

Для вывода и генерации данных в главных шаблонах используется 3 типа переменных:

$block_{name}
$tpl_{name}
$setting_{name}

Группа переменных $block_{name}: генерирует и вставляет данные из файла php по пути /main_inc/main_pages/{name}.block

Группа переменных $tpl_{name}: генерирует и вставляет данные из файла template simplePHP по пути /main_inc/main_pages/{name}.tpl

Группа переменных $setting_{name}: генерирует и вставляет данные настройки с именем {name}

Переменная $main_meta: генерирует и вставляет в шаблон мета тэги.

Переменная $main_header: генерирует и вставляет в шаблон <script /><link />, jquery, jquery ui, подключаемые функциями simple_load_*.

Переменная $main_content: генерирует и вставляет в шаблон контент.

Файл конфигурации rules.cfg

Данный конфигурационный файл содержит правила по формированию страницы

require_once($GLOBALS['I_main_cfg'].'tmpl_main.cfg');

// Подключаем бд
c_url_exec::connect_db();

// Подключение библиотек и методов
c_url_exec::load('show_data');
c_url_exec::load('db_pg_users');
c_url_exec::load('db_pg_counter');

// Выполение стартовых методов
c_url_exec::exec_method(array('c_users', 'check_auth_user'), 'check_db');
c_url_exec::exec_method(array('c_files', 'reset'));
c_url_exec::exec_method(array('c_counter_user', 'set_visit'));
c_url_exec::exec_method(array('c_rules', 'set_visitor'));

// Подключение скриптов, css, meta
c_url_exec::load_jquery();
c_url_exec::load_script($GLOBALS['E_main_res'].'js_swfobject/swfobject.js');
c_url_rules::meta('*', array('c_url_exec', 'get_meta'));

// Контент страниц
c_url_rules::page('*', array('c_shop_user', 'parse_url'));
c_url_rules::page('*', array('c_url_exec', 'page_inc'));
c_url_rules::page('*', array('c_url_exec', 'get_content'));

// Правила для шаблонов
c_url_rules::template('shop/*', 'shop');
c_url_rules::template('*', 'main');

// Правила для печати
c_url_rules::print_page('*', 'print');
  • Методы класса c_url_rules
c_url_rules::page(string $template_url, mixed $callback, [mixed $params...])

Данный метод формирует правила по получению контента для страницы.

$template_url - шаблон для странице на которой будет отображен контент, если у текущего класса нет данных для вывода, то рассматривается следующие правило. Пример, '*' - для всех страниц, 'shop/category/*' - для всех страниц по пути shop/category/, 'about/' - только для страницы about.

$callback - вызов статического метода array('c_class', 'callback_method') или функции 'callback_function'. Обработчик может данные по контенту возвращать через return, а так же выводом их на поток.

$params - параметры для обработчика

c_url_rules::meta(string $template_url, mixed $callback, [mixed $params...])

Данный метод формирует мета тэги, параметры метода такие же как и у c_url_rules::page()

c_url_rules::block(string $template_url, string $block, mixed $callback, [mixed $params...])

Данный метод формирует блок для страницы, либо по правилу заменяет текущий, параметры такие же как и у c_url_rules::page().

$template_url - шаблон для странице на которой будет отображен контент, если у текущего класса нет данных для вывода, то рассматривается следующие правило.

$block - название переменой в главном шаблоне

$callback - вызов статического метода array('c_class', 'callback_method') или функции 'callback_function'. Обработчик может данные по контенту возвращать через return, а так же выводом их на поток, либо подключение файла /main_inc/main_pages/{callback}.block

$params - параметры для обработчика

Исключение $callback - вызов обработчика, либо подключение файла /main_inc/main_pages/{callback}.block

c_url_rules::tpl(string $template_url, string $block, mixed $callback, [mixed $params...])

Данный метод формирует блок для страницы, либо по правилу заменяет текущий, параметры такие же как и у c_url_rules::block().

Исключение $callback - вызов обработчика, либо подключение файла /main_inc/main_pages/{callback}.tpl

c_url_rules::setting(string $template_url, mixed $callback, [mixed $params...])

Данный метод формирует данные из настройки, либо по правилу заменяет текущий, параметры такие же как и у c_url_rules::block().

Исключение $callback - вызов обработчика, либо имя настройки

c_url_rules::template(string $template_url, string $template)

Данный метод получает имя главного шаблона из /main_inc/main_tmpl.

$template_url - шаблон для странице на которой будет отображен контент, если у текущего класса нет данных для вывода, то рассматривается следующие правило.

$template - имя шаблона /main_inc/main_tmpl/{template}.html

c_url_rules::print_page(string $template_url, string $template)

Данный метод получает имя шаблона для печати, обрабатывается если в запросе есть get параметр page=1, из /main_inc/main_tmpl. Параметры такие как и у c_url_rules::template().

  • Методы класса c_url_exec
c_url_exec::connect_db()

Данный метод следить за подключение бд и отключением.

c_url_exec::load(string $module_name)

Данный метод подключает библиотеку или модуль

c_url_exec::load_jquery()

Подключает к $main_header библиотеку jquery

c_url_exec::load_ui([string $theme='default', [bool $max=true, [string $version='1.8.2']]])

Подключает к $main_header библиотеку jquery ui

c_url_exec::load_script($path)

Подключает к $main_header script файл

c_url_exec::load_css($path)

Подключает к $main_header css файл

c_url_exec::load_link($path)

Подключает к $main_header <link />

c_url_exec::set_new_template(string $template)

Назначение конкретного главного шаблона.

c_url_exec::exec_method(mixed $callback, [string $check_db, [mixed $params ...]]);

Выполнение конкретного статического метода или функции.

$callback - обработчик метод или функция. $check_db - если равно 'check_db', то проверяет установлен ли модуль $param - параметры для обработчика

Файл конфигурации rules_admin.cfg

Правила для генерации админской части

require_once($GLOBALS['I_main_cfg'].'tmpl_admin.cfg');

// Подключаем бд
c_url_exec::connect_db();	

// Подключение библиотек и методов
c_url_exec::load('db_pg_aowdb');
c_url_exec::load('show_data');
c_url_exec::load('db_pg_counter');
c_url_exec::load('admins');
	
// Выполение стартовых методов
c_url_exec::exec_method(array('c_files', 'reset'));	

// Подключение скриптов, css, meta
c_url_exec::load_jquery();
c_url_exec::load_ui();
c_url_exec::load_script($GLOBALS['E_main_res'].'js_jquery/jquery.form.js');

c_url_rules::block('*', 'block_left', array('c_admins_gui', 'menu'));
c_url_rules::block('*', 'block_bread_crumbs', array('c_admins_gui', 'bread_crumbs'));
c_url_rules::block('*', 'block_sub_menu', array('c_admins_gui', 'sub_menu'));	

// Контент страниц
c_url_rules::page('*', array('c_admins_gui', 'body'));	

// Правила для шаблонов
c_url_rules::template('*', 'admin');

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
+7 495 729 07 98
http://artofweb.ru