HTML_Template_IT::setVariable()

HTML_Template_IT::setVariable() – 変数を代入する

Synopsis

require_once 'HTML/Template/IT.php';

void HTML_Template_IT::setVariable ( mixed $placeholder , mixed $variable = "" )

Description

カレントブロック内の変数に値を代入します。 $placeholder が配列の場合は、 要素のキーがプレースホルダ名として扱われ、その要素の値で置換されます。

Parameter

  • mixed $placeholder - 置換されるプレースホルダ、 またはプレースホルダをキー、代入する内容を値とした配列

  • mixed $variable - $placeholder が配列以外の場合、指定された値がプレースホルダに代入されます。

Example

テンプレート - cvsnames.tpl.htm

<html>
 <table>
<!-- BEGIN row -->
  <tr>
   <td>
    {CVS_USERNAME}
   </td>
   <td>
    {REALNAME}
   </td>
   <td>
    <ul>
    <!-- BEGIN project_row -->
     <li>{PROJECT}</li>
    <!-- END project_row -->
    </ul>
   </td>
  </tr>
<!-- END row -->
 </table>
</html>

スクリプト

<?php
  
require_once "HTML/Template/IT.php";

  
$data = array
  (
    
"0" => array("cvs_username" => "pajoye"
                 
"realname" => "Pierre-Alain Joye",
                 
"projects" => array("PEAR"
                                     
"PEAR_Frontend_Web"
                                     
"PEAR_RemoteInstaller"
                                      
"HTML_Template_IT")),
    
"1" => array("cvs_username" => "dsp",
                 
"realname" => "David Soria Parra",
                 
"projects" => array("HTML_Template_IT"))
  );

  
$tpl = new HTML_Template_IT("./templates");

  
$tpl->loadTemplatefile("cvsnames.tpl.htm"truetrue);

  foreach(
$data as $name) {
     
// データを内側のブロックに代入します。
     
     
$tpl->setCurrentBlock("project_row");
     foreach (
$name['projects'] as $projectname) {
         
$tpl->setVariable("PROJECT"$projectname);
         
$tpl->parseCurrentBlock();
     }
     
     
// 連想配列を使用してプレースホルダを設定することも可能です。
     
$tpl->setVariable(
                      array(
"CVS_USERNAME" => $name["cvs_username"],
                            
"REALNAME" => $name["realname"])
                      );

     
$tpl->parse("row");
  }

  
// show() は __global__ ブロックをパースし、
  // 結果を表示します。
  
$tpl->show();

?>

Note

This function can not be called statically.

テンプレートを設定する (Previous) プレースホルダを置換したブロックを表示する (Next)
Last updated: Fri, 19 Dec 2014 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.