Smarty的嵌套的foreach与关联键

PHP:

<?php $menu = array( array('label' => 'myLabel', 'submenu' => array('label' => 'test label', 'label' => 'test label', 'label' => 'test label' )), array(...) ); $smarty->assign(array('menu' => $menu));

太平人寿:

<ul> {foreach from=$menu key=k item=elem} <li> <div> {$elem.label} </div> <ul> {foreach from=$elem.submenu item=subelem} <li>{$subelem.label}</li> {/foreach} </ul> </li> {/foreach} </ul>

需要注意的是像数组$menu = array(array("A"), array("B"), array("C"));工作正常。

我在哪里错了? 是否有可能或Smarty的是无法做到这一点?


编辑:问题是:该输出第一个列表,孩子列表的第一个元素在适当的HTML上下文中的第一个字母。

--------------解决方案-------------

你做错了什么

内部的foreach是问题的所在。 您在内部项目的foreach(subelem)不是一个数组(像你想象的),但它是一个字符串。

这应该工作:

<ul>
{foreach from=$menu key=k item=elem}
<li>
<div>
{$elem.label}
</div>
<ul>
{foreach from=$elem.submenu key=label item=text_label}
<li>{$text_label}</li>
{/foreach}
</ul>

</li>
{/foreach}
</ul>

分类:php 时间:2012-01-01 人气:0
分享到:

相关文章

  • 获得印有智者的foreach从表单值 2013-12-12

    我的问题是下一: 我在这里输入,标签和其他一些标签上都印有智者的foreach的形式. 所以我有一个同名的多个标签. 我需要一些jQuery中的字段收集数据. 我想,关于下一个方法: $('label#naziv_fajla').each(function(i){ imena[i] = $(this).text(); // console.log (i); }); console.log (imena); gives me next result: ["Desert.jpg", &qu

  • 在智者的foreach循环? 2012-11-10

    我如何能得到使用Smarty的两个记录在foreach循环一次迭代? 或者我应该使用部分? --------------解决方案------------- 直接从文档上http://www.smarty.net/manual/en/language.function.section.php#section.property.index.next. 请务必阅读文档! {* $rows[row.index] and $rows[row] are identical in meaning *} <ta

  • 在智者的foreach和迭代的区别 2014-04-08

    是什么在智者TPL文件{迭代}和{foreach}的区别? 他们是用'从'语有什么不同? --------------解决方案------------- 据我所知,没有在Smarty的所谓的"迭代"命令. 然而,有一个叫{}部分命令,往往是与{foreach}的困惑. 从Smarty.net的文档: 在{foreach}循环可以做一切{}节环能做到的,并具有简单,更容易语法. 它通常优先于{}部分循环. 也: {}部分循环可以通过关联数组没有循环,就必须数字索引和顺序(0,1,2,..

  • 如何给一个独特的名字到循环之外的foreach元素? 2012-02-14

    我所试图做的是从MySQL爆炸一些字符串由/,/,然后以某种方式可以参考这些阵列的循环之外. 这是因为,每个地区,国家和省在适当的顺序$ data数组中列出,我需要以某种方式粘合在一起. 例如,在MySQL内部有存储为一个字符串: Regions: Africa, Balkans, South America Countries: Uganda, Greece, Brazil Provinces: Ubuge, Athenos, Santa Catarina 但我有一个很艰难的时间试图想象如何绑

  • 是否有使用whil​​e循环VS的foreach / for循环的性能问题? 2012-03-22

    什么是使用whil​​e循环V / S的foreach /循环,反之亦然的性能问题? 也就是它总是最好使用foreach循环V / s,而在PHP? --------------解决方案------------- 您列出这是"语言无关",但答案是语言(或者,更确切地说,编译器)专用. 从理论上讲, foreach可以一样快,如果不是更快,尤其是如果经常for循环不断做一个昂贵的操作来测试计数. 此外, foreach工作的延迟加载集合,一个普通for循环必须知道项目的数量提前. 最后,

  • 无尽的循环问题用foreach 2012-03-23

    好吧,我有一个ENDLESS LOOP我需要一个循环无尽的没有错吧! 当我通过启动脚本php script.php它的工作原理没有问题,但在第二THRID等等...运行它的更恰当不工作. 我加入测试的第二次运行$输出到数据库,看看什么是错,并即时得到这个错误a:1:{i:0;s:24:"sh: 0: command not found";}它的序列化. 记住脚本适用于第一次运行,但从来没有在2 +跑,什么是错的$输出和视频$第2第3 +运行, 在编码每次运行工作也文件得到适当的重命名,

  • Foreach循环容器用foreach文件枚举器选项进行迭代,所有文件的两倍 2012-05-10

    我使用SSIS Foreach循环容器通过文件迭代与网络共享上有一定的规律. 我遇到的那种循环容器的unreproducible故障: 有时循环执行两次. 后的所有文件进行了处理它开始在与该第一个文件. 有没有人遇到了类似的错误? 也许不能直接使用SSIS但Windows共享访问与某种技术文件? 难道这个错误涉及到的一些网络问题? 谢谢. --------------解决方案------------- 你得到的是什么错误(SSIS日志/ EVENTVWR消息)? 到@Siva类似,我还没有碰到过

  • 如何使用循环内的foreach在PHP中添加号码 2012-09-20

    我使用PHP和具有以下结构 <?php if(!empty($bids)): ?> <?php foreach ($bids as $bid):?> <tr> <td><?php if($bid['Bid']['debit'] > 0) : ?><?php echo $bid['Bid']['debit']; ?><?php else: ?> <?php endif; ?></td> <

  • 是否有可能通过循环使用的foreach两个数组中的所有项目? 2013-07-21

    我有两个数组$Forms和$formsShared <?php foreach ($Forms as $r): ?> $("#shareform<?=$r['Form']['id'];?>").hide(); $(".Share<?=$r['Form']['id'];?>").click(function () { $("#shareform<?=$r['Form']['id'];?>").togg

  • 是否有可能利用循环内的foreach的LINQ部分? 2014-05-09

    我有这样的观点在ASP.NET MVC应用程序: <% var path = Path.Combine(HttpRuntime.AppDomainAppPath, "uploads"); foreach (var file in Directory.GetFiles(path).OrderBy(f => new FileInfo(f).Length)) { var item = new FileInfo(file); %> <tr> <td>&

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.501 (s). 10 q(s)