{:include file = "title.htm"}
 {:repeater name="loop" dataSrc=subname}
  <tr>
    <td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
    <td width="271" align="center" valign="middle" class="text_title">&nbsp;<a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>
  </tr>
{:/repeater}
如上html嵌入Php代码:请问 {:repeater name="loop" dataSrc=subname}像这样的语句什么意思啊?
dataSrc=subname中subname在哪个地方声明的呢?

解决方案 »

  1.   

    {:repeater name="loop" dataSrc=subname}这样的一般是模板语句,你去项目中找模板相关的类
      

  2.   

        这个就是一个循环,dataSrc 是要循环的数组,name就是当前元素,{:=loop->key} 可以取到当前循环元素的key值 {:=loop->val}取得当前元素对应的value值  subname是后台php  assign过来的
      

  3.   

    模板实现的原理是用php把类似这样的
    {:include file = "title.htm"}
    用正则匹配成
    <?
    include  "title.html"
    ?>
      

  4.   

    这就是一个循环,应该是使用了smarty模板吧,自己定义了html中的标签{:}
    {:repeater name="loop" dataSrc=subname}   // 循环语句
      <tr>
        <td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
        <td width="271" align="center" valign="middle" class="text_title">&nbsp;<a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>    
      </tr>
        {:/repeater}  //循环结束
      

  5.   

    请问你用的是什么cms 或模版引擎,
    这个肯定是循杯的模版了。
    {:repeater name="loop" dataSrc=subname} // 循环语句
      <tr>
      <td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
      <td width="271" align="center" valign="middle" class="text_title">&nbsp;<a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>   
      </tr>
      {:/repeater}会被转换成
    foreach($subname as $key=>$loop)
    {}<tr>
      <td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
      <td width="271" align="center" valign="middle" class="text_title">&nbsp;<a href="./index.php?module=list&subclass={$loop->key}">{$loop->val}</a ></td>   
      </tr>
      

  6.   

    下班了,草率的loop<?php
    $str = '
    {:repeater name="loop" dataSrc=subname}
      <tr>
        <td width="13" height="22" align="center" valign="middle"><img src="./images/bule_point.jpg"/></td>
        <td width="271" align="center" valign="middle" class="text_title">&nbsp;<a href="./index.php?module=list&subclass={:=loop->key}">{:=loop->val}</a ></td>    
      </tr>
        {:/repeater}
    ';
    $arr = array( 0=>array('key0'=>'val0'),
    1=>array('key1'=>'val1'),
    2=>array('key2'=>'val2'),
    3=>array('key3'=>'val3')
    );
    class Tag {

    var $sTextMiddle = '';
    var $aVariables = array();
    function addVariable($sName, $sValue) { 

    $this->aVariables[$sName] = $sValue;
    }
    function processString($sString, $aDatas) {


    if(isset($aDatas)) {
    for($i=0; $i<count($aDatas); $i++) {

    foreach($aDatas[$i] as $k=>$v) {

    $iRepeaterS = stripos($sString, '{:repeater');
    $iRepeaterSend = stripos($sString, '}');
    $iRepeaterE = stripos($sString, '{:/repeater');
    $sTextMiddle1 = substr($sString, $iRepeaterSend+1,$iRepeaterE-$iRepeaterSend-1);
    $sTextMiddle1 = str_ireplace(array('{:=loop->key}', '{:=loop->val}'), array($k, $v), $sTextMiddle1);
    $this->sTextMiddle .= $sTextMiddle1;
    }
    }
    }
    return $this->sTextMiddle;
    }
    }$tag = new Tag();
    echo $tag->processString($str, $arr);
    ?>