AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







Шаг 5

Переключение модулей

Исправим казус. Для этого ссылкам нужно придать GET параметр, по которому мы и будем определять, чего юзеру угодно.

menu.tpl
1
2
3
4
5
6
<ul> 
<li><a href="?page=main">Главная страница</a></li> 
<li><a href="?page=second">Вторая страница</a></li> 
</ul>

И примем его на сервере:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php


/**  
* Получаем GET переменную   
* Receive GET a variable  
*/  
$page = !empty($_GET['page'])?$_GET['page']:NULL


    
ob_start();   

/**   
* Подключаем меню   
* Includes the menu   
*/   
    
include './skins/tpl/menu.tpl';   

/** 
* The switch of modules 
* Переключатель страниц 
*/       
    
switch($page)  
    {  
/**   
* Подключаем модуль приветствия   
* Includes the greeting module   
*/          
        
case 'main':     
            include 
'./modules/main/index.php';             
            include 
'./skins/tpl/main/show.tpl';  
        break;  
/**   
* Подключаем модуль второй страницы   
* Includes the module of the second page   
*/  
        
case 'second'
            include 
'./modules/second/index.php'
            include 
'./skins/tpl/second/show.tpl';  
        break;  
/**   
* Подключаем модуль приветствия по умолчанию  
* Includes the greeting module   
*/            
        
default: 
            include 
'./modules/main/index.php';             
            include 
'./skins/tpl/main/show.tpl'
        break;     
    }   

    
$content ob_get_contents();   
    
ob_end_clean();   
/**   
* Подключаем главный шаблон   
* Includes the basic template   
*/   
    
include './skins/tpl/index.tpl';

Запустим, порадуемся и переведем дух.
Что у нас получилось.
1. Логика и представление разведены по разным углам
2. Получилась более-менее внятная структура, которой легко управлять.
3. Имеется возможность смены скина.
Для начала вполне неплохо.

Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009