Ответов: 16 Просмотров: 4001
|
Создал (не знаю как назвать) в общем приложение на php на mvc
Создал свою карту маршрутизации
т.е. аналог .htaccess mod_rewrite
дошел до того места где контроллер создает модель или не создает, создает отображение и генерирует страницу
PHP:
скопировать код в буфер обмена
class Controller_Catalog extends Controller { public function __construct() { $this->model = new Model_Catalog(); $this->view = new View(); } public function action_index (array $parameters) { $data = $this->model->get_data(); $this->view->generate(array('catalog_view.php'), 'template_view.php', $parameters); } }
Вот тут все понятно, это как бы логично:
что есть шаблон html который находится в файле template_view.php и в нем прописана вставка в определенном месте файла catalog_view.php
PHP:
скопировать код в буфер обмена
<!DOCTYPE html> <html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-utf-8"> <title>Главная</title> </head> <body> <?PHP foreach ($content_view as $view) { include $view;//catalog_view.php } ?> </body> </html>
Но вот допустим у меня шаблон состоит из множества отдельных модулий каждый из которых я хочу поместить в отдельный файл (допустим левоем меню, верхнее меню и контент)
Тогда при таком подходе у меня ничего выходить не будет
Шаблон подключиться но все файлы подрубятся друг за другом в том порядке в котором указаны в массиве
Как сделать чтобы допустим есть шаблон вида
PHP:
скопировать код в буфер обмена
<!DOCTYPE html> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="css/main.css"> </head> <body> <div class="header_panel"></div> <div class="main"> <div class="header"> <div class="top_menu"> <?PHP include $content_view[1];//top_menu.php ?> </div> </div> <div class="content"> <div class="content_main"> <div class="content_left"> <?PHP include $content_view[2];//left_menu.php ?> </div> <div class="content_right"> <div class="content_block"> <?PHP include $content_view[0];//catalog_view.php ?> </div> </div> <div class="clear"></div> </div> </div> <div class="footer"> </div> </div> </body> </html>
Чтобы я мог указывать допустим в верхнее меню подрубить определенный файл, в контент другой, а в лувое меню еще чтото?
Какие шаблоны программирования используются?
Что посоветуете в данном случае?
В общем кто что понял из вопроса то и пишите (примеры ссылки и т.д.), я из вариантов выберу то что подходит так как обьяснить понятней не получается |