Вопрос по smarty

Fliand

Новичок
Вопрос по smarty

Вот нуно сделать простенький сайт. Сайт состоит из главной стр, на которой выводятся сайты портфолио из БД. При нажатие на один из сайтов, появляется более подробная инфрмация, и из еще 3 стр, которые имеют просто текстовое содержание. Хочу этот сайт реализовать через систему шаблонов Smarty. Понимаю, что это необязательно для маленького сайта. Но хотел бы поробовать для учебного пособия. И еше одна важная деталь. Нужно сделать не через схему MVC, а через Компонентный подход, тоесть шаблон запрашивает переменные, масивы и т.д., а не контроллер инклудит шаблоны. Так вот в чем основной вопрос. Т.к я хочу использовать компонентный подход, использование smarty нецелесообразно.(кто знаком немного со smarty, должен понять.) для этого все обращения к шаблонам сайта сначало должны переадресовываються на общий контроллер, который запускает Smarty, возвращая затем управление вызванному шаблону. Слышал, что к придаче к контроллеру, нуно создать фалик .htacces. Вот как это все сделать.
 

Alexandre

PHPПенсионер
Понимаю, что это необязательно для маленького сайта. Но хотел бы поробовать для учебного пособия.
для маленького - как раз то, что надо,
а для большого смарти вот лучше не использовать ;)
Слышал, что к придаче к контроллеру, нуно создать фалик .htacces. Вот как это все сделать.
1) открываешь текстовый редактор, создаешь файлик .htaccess
2) читаем тут:http://ru.wikipedia.org/wiki/Htaccess и тут http://www.wmaster.ru/htaccess/index.htm и тут http://www.seoschool.ru/search-engine-optimization-seo/htaccess-mod_rewrite-ultimate-guide.html
3) если что-то не получается смотрим логи
4) если совсем безнадега, то пишем в форум с указанием того что сделали и какие получили сообщения системы.

Нужно сделать не через схему MVC, а через Компонентный подход, тоесть шаблон запрашивает переменные, масивы и т.д., а не контроллер инклудит шаблоны.
а вот об этом можно поподробнее?
что такое MVC, а что такое Компонентный подход?
в чем принципиальная разница?
 

HraKK

Мудак
Команда форума
мне кажетьсяон про активные шаблоны.
 

Fliand

Новичок
http://hostinfo.ru/articles/web/rubric48/rubric55/1326/. Коротоко про MVC и компонентный подход.

-~{}~ 27.06.08 23:04:

А как сам контроллер написать???

-~{}~ 28.06.08 14:04:

Ну подскожите тогда кк правильно сделать сайт через smarty, такого вида. Сайт состоит из 4 стр, у каждой свой заголовок и свое содержание. И для них задается один макет. Как это реализовать, плиз покажите на примере, или объясните.
 

Alexandre

PHPПенсионер
http://hostinfo.ru/articles/web/rubric48/rubric55/1326/. Коротоко про MVC и компонентный подход.
тогда надо было спросить Денис Ковалкин
я кстати с ним не согласен...
автор реализует туже MVC,
только распределение ролей M-V-C идет в разных плоскостях.

недостаток данного подхода, мы жестко привязываемся к смарти...

[offtop]
как показал опыт - смарти, вообще тормозной шаблонизатор
для больших проектов надо использовать нативные, типа блитца
но, для средних - нормально.
а потом производительность callback-ов хромает.

Ну подскожите тогда кк правильно сделать сайт через smarty, такого вида. Сайт состоит из 4 стр, у каждой свой заголовок и свое содержание. И для них задается один макет.
не изобретай велосипеда...
1) шаблон main
Код:
<html>
.....
   	{include file="$block.tpl"}
.....
</html>
в коде соответствующей стр, делаешь ассигны
PHP:
$name = 'news' // имя шаблона, советую чтоб оно совпало с именем WEB-страницы, без расширения
$tmp->assign('block',  $name );
$tmp->assign('var1',  $var1 ); // переменная в шаблоне news.tpl 
$tmp->display('main.tpl');
 

Alexandre

PHPПенсионер
цитаты из статьи

Контроллер в данной схеме разработки является ключевым элементом: он обращается к модели за необходимыми данными, он определяет, какие шаблоны (или шаблон) будут использованы для отображения страницы и в каком порядке они будут выведены на экран... и именно он испытывает тенденцию к росту и усложнению вместе с ростом веб-ресурса, хотя эта проблема в принципе решается стандартными приемами структурного программирования.
'это смотря как написать контроллер
Другое дело — ряд прочих недостатков, обусловленных тем, что схема MVC недостаточно хорошо подходит для разделения кода страницы и ее представления.
это вообще бред :)
Во-первых, контроллер здесь единолично решает, какой шаблон будет использован для отображения запрошенной страницы, а значит, для его замены на другой придется лезть в код. То же для изменения порядка вывода нескольких шаблонов, используемых в одной странице.
короче если кривые руки, то об этом прямо в статье и пишем ;) - руки кривые... и нечего на контроллер пинать

Во-вторых, адресация на выводимой странице будет определяться относительно контроллера, а не шаблона, что также не совсем удобно.
что мешает делать иначе? есть куча архитектурных решений...
зачем рассматривать одно, заведомо кривое, чтоб его обхаяв, предложить другое, не факт, что оно будет лучше :)
 
Сверху