HTML_Template_IT и MySQL

z00

Новичок
HTML_Template_IT и MySQL

Всем доброго времени суток!

Кто-нибудь знает как сделать простой вывод списка ссылок с помощью HTML_Template_IT из MySQL.

Шаблон такой:
PHP:
<body>
   {inner1}
</body>
А вот как сделать вывод списка в шаблон не допираю.

Знаю что где-то чего-то не-то, а где
PHP:
$tpl->loadTemplatefile("name.tpl.htm", true, true);
$sql = "SELECT id, name FROM table";
while ($row = mysql_fetch_array($sql))
{
	$tpl->setCurrentBlock('inner1');
    $tpl->setVariable("inner1", $row['id']);    
	$tpl->parseCurrentBlock('inner1');
}
 $tpl->show();
даже просто вывод не работает, не говоря уже о том, чтобы выводить ссылки!

Я знаю, что тема избитая, но может кому не влом будет, подскажите!

-~{}~ 12.04.06 17:31:

Фух, вроде разобрался! :)
Всем кому надо дарю:

PHP:
$sql = mysql_query("SELECT id, name FROM table ORDER BY id");
require_once "HTML/IT.php";
$tpl = new HTML_Template_IT("./templates");
$tpl->loadTemplatefile("name.tpl.htm", true, true);
while ($row = mysql_fetch_array($sql))
{
	$tpl->setCurrentBlock('inner1');
    $tpl->setVariable("inner1", "<a href=\"name/" . $row['id'] . "\">" . $row['name'] . "</a><br />");    
	$tpl->parseCurrentBlock('inner1');
}
$tpl->show();
 

z00

Новичок
Да вот пытаюсь разобраться, но чего-то туго идет.

-~{}~ 13.04.06 10:24:

Автор оригинала: z00
Да вот пытаюсь разобраться, но чего-то туго идет.
Хочеться чего-то простого и доброго, но получается наоборот.
То что я заблуждался я уже понял, но решение так и не нашел, пока не нашел.
Мне просто нужно сделать каталог, а дизайнеры никак нормальный дизайн сделать не могут.
Делают одно фуфло, а мне все время вставлять include(переписывая все время мешанину из php и html) не хочется, хоть и сайт не очень сложный.

Одним словом я не совсем понимаю как работает ентот класс, вот и все.
Плохо, что у меня с аглицким плохо, а то наверно и мануала бы хватило.

Если кто может дать ссылку на хорошую статью про этот класс, желательно на русском, то киньте пожалуйста!

-~{}~ 13.04.06 12:06:

До меня наконец дошло, что такая конструкция не верна
PHP:
<body> 
   {inner1} 
</body>
.......

tpl->setCurrentBlock('inner1'); 
    $tpl->setVariable("inner1", "$link");     
    $tpl->parseCurrentBlock('inner1');
А надобно так:

PHP:
<table>
 <!-- BEGIN row --> 
  <tr>
<!-- BEGIN cell -->  
   <td>
    {inner1}
   </td>
<!-- END cell -->  
  </tr>
<!-- END row -->
</table>
...............

	$tpl->setCurrentBlock("row");
	$tpl->setVariable("inner1", "$link");    
	$tpl->parseCurrentBlock('row');
Почему-то не дошло сразу, что все эти:
<!-- BEGIN row -->
<!-- BEGIN cell -->
Оказывается нужны именно для того чтобы шаблонизатор понял куда ему и как вставлять :) прямо каламбур получился.
А всего-то и надо было написать в мануале класса вместо
<!-- BEGIN row -->,
например
<!-- BEGIN row_name -->

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

-~{}~ 24.05.06 13:39:

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

z00

Новичок
это невозможно в принципе.
Да я знаю. Постараюсь в дальнейшем выражаться более конкретно.
Я имел в виду: разделить html и php, для более удобного чтения обоих в будущем.
Собственно для чего и предназначен шаблонизатор.
 

Фанат

oncle terrible
Команда форума
Лично я считаю, что надо разделять логику шаблона и логику скрипта. А пхп от хтмл отделять совсем не обязательно. Наоборот, на пхп шаблоны пишутся - только в путь
 
Сверху