|
|
|
|
|
для: D.Lans
(19.08.2006 в 02:26)
| | Не легче ли взять готовый шаблонизатор, который и быстрее и эффективнее работать будет?
[поправлено модератором] | |
|
|
|
|
|
|
|
для: Lelik
(19.08.2006 в 02:55)
| | Не совсем.
Все же спасибо.
Код я написал, только он не работает как надо..
Буду разбираться.. | |
|
|
|
|
|
|
|
для: D.Lans
(19.08.2006 в 02:52)
| | а теперь посмотри внимательней на тот код, что я представил здесь - то, о чем ты как долго писал | |
|
|
|
|
|
|
|
для: Lelik
(19.08.2006 в 02:42)
| | "брать из шаблона" - значит загружать файл с шаблоном в отдельную строковую переменную и уже затем оперировать с ней. | |
|
|
|
|
|
|
|
для: Lelik
(19.08.2006 в 02:41)
| | Все равно совсем не то.
У тебя теги <loop> <table> <tr> уже известны программисту и вставляются в PHP коде.
А в том и соль, что дизайнер, который работает только с шаблоном (PHP кода он не знает) - должен в своем шаблоне написать:
<table>
<loop news>
<tr>
<td>{zagolovok}</td>
</tr>
<tr>
<td>{news_text}</td>
</tr>
</loop news>
</table>
|
parser.php загружает этот файл, ищет в нем теги <loop>, в теге <loop> ищет:
<loop news>
ключевое слово news (оно может быть произвольным) и уже в зависимости от этого слова делает что-то, в частности - загружает из БД именно список новостей, а не что-то другое.
далее он находит кусок кода между тегами <loop>
в нашем случае это:
<tr>
<td>{zagolovok}</td>
</tr>
<tr>
<td>{news_text}</td>
</tr>
|
И прогоняет его по циклу столько раз, сколько найдено новостей в БД.
На каждом прогоне (итерации) - подставляет вместо {zagolovok} и {news_text} нужные данные из бд.
+на каждом шаге "запихивает" очередной блок кода (между тегами <loop> который) в одну строковую переменную..
затем эту переменную подставляет вместо <loop>, + стирает </loop>
Получается готовый отпарсенный файл..
В общем, пока я писал, я кажется сам понял как это сделать. :))))))) | |
|
|
|
|
|
|
|
для: D.Lans
(19.08.2006 в 02:39)
| | >Это не совсем то.
>В вашем примере код между тегами <loop> уже известен, а он может быть любым, его надо брать из шаблона.
я чет не понял, это как - брать из шаблона? | |
|
|
|
|
|
|
|
для: D.Lans
(19.08.2006 в 02:39)
| | я код исправил, попробуй заново | |
|
|
|
|
|
|
|
для: D.Lans
(19.08.2006 в 02:38)
| | Это не совсем то.
В вашем примере код между тегами <loop> уже известен, а он может быть любым, его надо брать из шаблона. | |
|
|
|
|
|
|
|
для: Lelik
(19.08.2006 в 02:37)
| | спасибо за код, сейчас гляну | |
|
|
|
|
|
|
|
для: Lelik
(19.08.2006 в 02:33)
| | в том то и дело что циклы должны быть в PHP коде..
а в шаблоне только определены места для вставки переменных {text}
и как я уже написал - циклы, чтобы парсер знал, что надо данные проциклить.
например парсер находит
<loop news>
</loop>
и в зависимости от найденной переменной, (в данном случае news) выводит из БД какие-то данные, беря код между тегами <loop> парся его на {news_text} и {text_news} например и на каждом шаге в цикле вставляя опеределенные данные из БД... | |
|
|
|
|