работают ли phplib templates с вложенными блоками ?

  • Автор темы KhasDenis
  • Дата начала

KhasDenis

Guest
работают ли phplib templates с вложенными блоками ?

A ? Что то у меня никак ....
 

Groove

Новичок
работают, только начинай вырезать блоки с самых нижних

например в этом примере:
<!-- BEGIN row -->
<!-- BEGIN cell -->
<!-- END cell -->
<!-- END row -->

начинай с блока cell, потом row.
 

KhasDenis

Guest
вырезать == parse ?
у меня так :
============= test.php ========================
PHP:
<? include("includes/connection.php"); ?>
<? include("includes/template.inc"); ?>
<?
   $template =new Template("./templates", "remove");
   
   $template->set_file("states", "states.tpl");
   $template->set_block("states", "rows", "block");
      
   $query ="SELECT * FROM state";
   $result =mysql_query($query) or die(mysql_error());
   if(mysql_num_rows($result)>0) {
      $i =0;
      while($row =mysql_fetch_array($result)){
         $template->set_block("states", "test", "block2");
         if( ($i%2) == 0){
	    $template->parse("block2", "test", true);
        } 
        $i++; 
        $template->set_var(array("ID"=>$row["id"], "STATE"=>$row["name"]));
        $template->parse("block", "rows", true);
      }
   }   
   $template->parse("OUT", "states");
   $template->p("OUT");
?>
================states.tpl======================
PHP:
<table>
   <tr>
     <td>ID</td>
     <td>State</td>
     <td></td>
   </tr>
   <!-- BEGIN rows -->
   <tr>
     <td>{ID}</td>
     <td>{STATE}</td>
     <!-- BEGIN test -->
        <td> Comments </td>
     <!-- END test -->
   </tr>
   <!-- END rows -->
</table>
Блок печатается всегда

-~{}~ 05.03.04 13:18:

>>(здесь пишется про все, что не связано с PHP или вопросы, >>подобные "где взять готовый движок", "напишите мне >>скрипт", "научите меня программировать с нуля")
Неужели мой вопрос попадает под - "научите меня программировать с нуля"?
в той доке которая вместе с phplib идет ни слова о вложенных блоках .... решил поинтересоваться ... Groove мне хотел даже помочь .... странная у вас политика
 

Groove

Новичок
вырезать == set_block

если можно дам тебе совет: чтобы не путаться, в шаблонах называй блоки в единственном числе, а переменные шаблона во множественном, например
в шаблоне пишем : <!-- BEGIN row -->
в коде $template->set_block("states", "row", "rows");

так вот в твоем коде не хватает строчки
$template->set_block("states", "test", "tests");
перед
$template->set_block("states", "row", "rows");
потому что, когда ты вырезал из шаблона блок row, то и вырезал вложенный в него test

Понял?
Удачи!
 
Сверху