![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
мда... Без обид, но ты мерял? Или просто слышал? Сделай рабочий сайт и профайлинг ему.... результаты тебя удивят.
Почитай другие темы про разделение логики и представления. Про архитектуру MVC. Шаблоны/Представления должны быть отдельно от логики... но лучше всего если они будут из себя представлять обычные phtml файлы. Тогда и циклы и условия все будет у тебя легко и просто. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
alexey009 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 28.7.2008 Репутация: 2 Всего: 2 |
читал и сам проверял.. работет медлено.. я вообще-то про это и говорю, что это и есть шаблонизатор, а в смарти(если его все-таки использовать) как циклы выводить "без заноса" логики в шаблон!(см. предыдущий пост) ![]() |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Позволь усомниться... Как проверял? Если не затруднит, скриншот из http://sourceforge.net/projects/wincachegrind ![]() Кто мешает использовать простой include? -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
alexey009 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 28.7.2008 Репутация: 2 Всего: 2 |
Читал предыдущие посты? Цель - весь шаблон страницы должен лежать в одном файле(index.tpl), а не разбивать его на header, body, footer; а далее body разбивать на left_menu, right_menu, main. а их уже разбивать на более мелкие детали... ну не маразм? ![]() Вообщем пока у меня один вариант виден: дописывать собственный шаблон. Кстати, про компиляцию, как организовать и нужло ли это вообще? |
|||
|
||||
Kefir |
|
|||
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
alexey009, постой-постой, ты разделяй код, занимающимся доставкой и обработкой данный от логики представления, так сказать. суть шаблонизатора как раз их и разделить.
задача: вывести новости на экран. делим на две части - достать новости из БД и отобразить их. ты, соответственно, достаёшь новости и получает, по сути, массив обьектов. так выполнена первая задача - бизнес логика. вторая задача - отобразить их. эту задачу и решает шаблонизатор. в бизнес логике ты вообще не думаешь о том как и где эти данные будут отображаться, ты просто говоришь шаблонизатору - "вот тебе новости, покажи мне их на экране!". и уже в шаблонизаторе эти новости превращаются в пхп-код. и вообще, кроме так и понял чем смарти не подошёл (говорю ибо вижу, что написание шаблонизатора началось именно из-за отсутствия подходящего продукта)- вроде всё ж есть. компиляция нужна обязательно, имхо. организовать - так как я уже говорил. парсер и проверка на изменения шаблонов. |
|||
|
||||
alexey009 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 28.7.2008 Репутация: 2 Всего: 2 |
Kefir, есть мой пост в конце 2 странице - http://forum.vingrad.ru/index.php?showtopi...t&p=1598812
Соответственно ответы на него не уведил.. ![]() |
|||
|
||||
Fortop |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
\ Нет не маразм. Страница у тебя собирается из деталей того уровня, который тебе нужен. Не нужна более мелкая детализация - не делай ее Но я бы предпочел такой, index.phtml
Если тебе нужна более продвинутая манипуляция, то рекомендую... Посмотри, как организованы View + Layout в Zend Framework
Кхм, а где ответ про foreach? -------------------- Мир это Я. Живее всех живых. |
||||
|
|||||
alexey009 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 28.7.2008 Репутация: 2 Всего: 2 |
||||
|
||||
Kefir |
|
||||
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
ну раз тебе надо поцитатно
![]() очень хорошая конструкция. зря ты так. даже ЕСЛИ (не будем мерится циклами) твой код будет выполняться на 0.001 секунду дольше - ничего страшного. коротко - в разделении логики и представления.
опять приходится повторяться - есть логика которая бизнес, а есть логика представления. первая отвечает за то, чтобы достать и обработать данные (к примеру, сделать запросы в БД, отсортировать и/или отфильтровать полученные данные). вторая - за то как данные будут отображены. к примеру, надо чтобы у новости с пометкой Important был красный фон. к бизнес логике это не относится - сам понимаешь, то есть в класс News приделать поле BackgroundColor это всё равно что водителей трамваев в трамваям гвоздями прибивать. а раз это относится к логике представления - это должно быть реализовано в самом шаблоне. понял?
ну скажем так - главное чтобы тебе это нравилось В))) а по хорошему - ни в коем случае. ЗЫ всё то же самое я писал и в предыдущем посте, но, к сожалению, ты почему-то не увидел этих ответов. Добавлено через 1 минуту и 19 секунд alexey009, а что органихация циклов то? чем цикл от ифа отличается? вот и подумай ![]() |
||||
|
|||||
alexey009 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 28.7.2008 Репутация: 2 Всего: 2 |
Kefir,
![]() может я конечно полный нуб, но попробую ещё раз получить ответ, не сердитесь плиз. ![]() Значит, файл index.tpl
файл news.tpl
файл index.php
папка с шаблоном index.tpl engine\templates\new\main папка с шаблоном news.tpl engine\templates\new\news смарти лежит в папке engine\smarty файл index.php лежит в корневой директории. внимание вопрос как в index.tpl NEWS заменить на файл news.tpl и отоброзить полученные новости из базы, при этом шаблон отображения новостей расположен между "начало" и "конец". НА ПРИМЕРЕ SMARTY |
||||||
|
|||||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Только цикл. Ну или его эмуляция подобный конструкциями
P.S. В Smarty есть оператор для цикла -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
alexey009 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 28.7.2008 Репутация: 2 Всего: 2 |
Fortop, как задать цикл. этот вопрос задавался не раз, никто тольком не ответил
![]() |
|||
|
||||
Kefir |
|
||||||
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 13 Всего: 87 |
alexey009,
index.tpl:
news.tpl (замечаем, что тут, внутри, есть цикл ![]()
index.php:
вот надо тебе к словам попридираться. ведь и так понял, что я имею в виду. ![]() |
||||||
|
|||||||
BaNaNaS |
|
||||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 17.10.2005 Репутация: нет Всего: нет |
Я бы сделал так:
З.Ы. Мог и на мудрить не проверял. Это сообщение отредактировал(а) BaNaNaS - 4.8.2008, 17:34 |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |