<!-- #BeginLibraryItem "/library/category_tree1.lbi" --><div class="box">
 <div class="box_1">
  <div id="category_tree">
    <!--{foreach from=$categories item=cat}-->
     <dl>
     <dt><a href="{$cat.url}">{$cat.name|escape:html}</a></dt>
     <!--{foreach from=$cat.children item=child}-->
     <dd><a href="{$child.url}">{$child.name|escape:html}</a></dd>
     <!--{/foreach}-->
     </dl>
    <!--{/foreach}--> 
  </div>
 </div>
</div>
foreach是有作用的啊,为什么注释起来还能起作用?$cat.url是一个变量还是什么?我学asp.net的,照asp.net看就是调用属性url,php“.”代表连接字符串啊;escape:html是什么意思?是编码吗?学php的高手们帮我解释这一小段程序,3Q!

解决方案 »

  1.   

    Smarty模板
    注册变量。循环遍历。 你要先看模板语言
      

  2.   

    PHP前台页面应该是这样
    assign
    赋值$smarty->assign('categories ', $categories );
    categories 是个array.
     
     
      

  3.   

    <!--{}-->这是自定义的smarty的定界符;$cat是一个关联数组,在模板中关联数组的调用就是‘$数组名.元素’相当于php页面中的‘$数组名[元素]’;‘<!--{foreach from=$categories item=cat}-->……</foreach>’这就是smarty的语法了就相当于php的'foreach($arr ad $value){}'