Какую библиотеку вы используете при генерированию HTML кода?

Фанат

oncle terrible
Команда форума
я вот такое настрочил, но назвать это шаблоном у меня язык не поднимается, литературы(кроме smarty) не нашел, помогите
А, сорри, не увидел, что это ты сам настрочил.
Прошу прощения за идиота. Я думал, это ты где-то готовое увидел, у человека. который думал что понимает, что делает.

В принципе нормально, но я бы унифицировал все обращения к операторам РНР.
плюс - более тщательная подготовка исходных данных.

Вообще, в нормальной системе, все данные в шаблон передаются через массив. Все равно ведь шаблон подгружается некоей функцией, которая не видит никакие глобальные переменные.
То есть, собираем все данные в массив, скажем, $data, и из него все выводим.
 

dimitrius

Новичок
почти.

в принципе, если сразу после foreach(): написать extract($row); то можно обращаться к переменным по именам, а не как к элементам массива.

Вообще пример хороший. Показывает, что логики отображения может быть в шаблоне до черта. И при этом без неё НИКАК не обойтись.
спасибо за пример, суть понял, еще, если кто будет читать, в качестве примеров можно посмотреть шаблоны для zend фреймоврка
 

dimitrius

Новичок
А, сорри, не увидел, что это ты сам настрочил.
Прошу прощения за идиота.
Ничего страшного, главное помощь
Вообще, в нормальной системе, все данные в шаблон передаются через массив. То есть, собираем все данные в массив, скажем, $data, и из него все выводим
я так и делаю через класс шаблонизатор - максимально простой.
 

Фанат

oncle terrible
Команда форума
Ну, это я к тому, что graphHandler в этом классе - явно лишний.
по поводу вывода деревьев - некоторое время назад я озаботился таким вопросом. Получилось вот что

PHP:
<? foreach ($TREE as $row): ?> 
<?   if($row['li']=="open"): ?>
<ul>
<?   endif ?> 
<?   if($row['li'] == "close"): ?>
</ul>
<?   endif ?> 
<?   if($row['id']): ?> 
<?     if($id == $row['id']): ?> 
  <li><?=$row['title']?></li> 
<?     else: ?> 
  <li><a href="?id=<?=$row['id']?>"><?=$row['title']?></a></li> 
<?     endif ?> 
<?   endif ?> 
<? endforeach ?>
Но, разумеется, такой шаблон требует значительного кода в контроллере, который готовит массив специальным образом, добавляя в него кроме данных еще и управляющие элементы.
 
Сверху