+ -
当前位置:首页 → 问答吧 → 模板中<foreach >里能不能用 <include>?

模板中<foreach >里能不能用 <include>?

时间:2010-04-30

来源:互联网

class indexaction  function index中  
$asa = array();
$asa[0] = array(id=>1,name=>aa);
$asa[1] = array(id=>2,name=>bb);


tpl/defalt/index/aa.html中
<p>aa</p>


tpl/defalt/index/bb.html中
<p>bb</p>


tpl/defalt/index/index.html中
<foreach name="asa" item="as">
    <div class="item" title="{$as.name}" id="menu{$as.id}">
            <include file="index:{$as.name}" />
    </div>
</foreach>

察看页面源文件
为什么  只有显示
<div class="item" title=" xxx  " id="menuxxx">
     
</div>

include
内容不显示?

不用foreach 手工一个一个的写div 就能显示 aa.html, bb.html 内容


要怎么写才能显示  include?或者说怎样在循环里引用别的页面?

作者: rocet   发布时间: 2010-04-30

可以直接用php代码写,<php>...</php>

tpl/defalt/index/index.html中
<foreach name="asa" item="as">
    <div class="item" title="{$as.name}" id="menu{$as.id}">
            <include file="index:{$as.name}" />
    </div>
</foreach>

就是php的foreach语句写,,一样的。。。不一定必须用TP的标签,

那个方便用那个。。

作者: flyfishiii   发布时间: 2010-04-30

<?php foreach ($list as $k=>$v) { ?>
    <div class="item" title="<?php echo $v['name']  ?>" id="<?php echo $v['id']  ?>">
            <?php include('Web/Tpl/default/index/'.$v['name'].'.html')   ?>
    </div>
<?php }  ?>

ok 这样出来了 感谢楼上提醒.

作者: rocet   发布时间: 2010-04-30

<include file="index:{$as.name}" />
不成功是不是因为路径不对? 为什么我单个引用就能成功? 加了循环就空白?
tp下所有的引用是不是 不管文件在什么位置都要从根目录算起? 即使要引用的文件在同个文件夹下?

作者: rocet   发布时间: 2010-04-30

楼主辛苦了......

作者: pzhhf   发布时间: 2011-04-23