вопрос о HTML_Template_IT

pachanga

Новичок
вопрос о HTML_Template_IT

Народ, я наверное чего-то недопонимаю, не подскажите как решается следующая проблема с помощью класса HTML_Template_IT:

есть шаблон tmpl1.html:
Код:
<html>
 <table border>
<!-- BEGIN row_odd -->
  <tr>
<!-- BEGIN cell_odd -->
   <td>
    {DATA}
   </td>
<!-- END cell_odd -->
  </tr>
<!-- END row_odd -->

<!-- BEGIN row_even -->
  <tr bgcolor='red'>
<!-- BEGIN cell_even -->
   <td>
    {DATA}
   </td>
<!-- END cell_even -->
  </tr>
<!-- END row_even -->

 </table>
</html>
есть код, рендерящий этот шаблон:
PHP:
<?php
	
	require_once('IT.php');
	
	$data = array (
	    "0" => array("Stig", "Bakken"),
	    "1" => array("Martin", "Jansen"),
	    "2" => array("Alexander", "Merz"),
	    "3" => array("Paul", "Mc"),
	);
	
	$tpl = new HTML_Template_IT('c:\var\test_dev\test');
	
	$tpl->loadTemplatefile("tmpl1.html");
	
	$c = 0;
	foreach($data as $name) {
			if($c % 2)
				$block_name = 'odd';
			else
				$block_name = 'even';
				
			echo $block_name . '<br>';

	    foreach($name as $cell) {	  			      
	        $tpl->setCurrentBlock("cell_" . $block_name) ;
	        $tpl->setVariable("DATA", $cell) ;
	        $tpl->parseCurrentBlock() ;
	    }
	    $tpl->setCurrentBlock("row_" . $block_name) ;
	    $tpl->parseCurrentBlock() ;
	    
	    $c++;
	}
	
	echo $tpl->get();
	
?>
Так вот получается не совсем то, что необходимо(а необходима "полосатая" таблица). Вместо чередования строк таблицы получаются сначала все четные блоки, потом нечетные...
Понимаю, что можно изменить шаблон, или код определенным образом, чтобы все правильно заработало, но объясните, люди знающие, в чем мои грабли? Ведь вроде все логично?
 

Verk

Guest
используй класс-расширение ITX (в том же пакете идет).
В просто IT это, вроде как, не поддерживается.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Вариант первый, простой:
тебе нужен ещё один блок, в котором будут содержаться row_odd и row_even. Дальше сам. ;)

Вариант второй, правильный:
скачиваешь HTML_Template_Sigma и смотришь примеры (в docs/). Тебя интересует пункт 3 из второго примера и пункт 1 из четвёртого.
Также есть пример в документации: http://pear.php.net/manual/en/package.html.html-template-sigma.intro-syntax.php
 
Сверху