php smarty 递归,php – 在smarty中处理递归的最佳方法是什么?

博主探讨了在Smarty模板引擎中处理递归和嵌套数组的挑战,特别是当数据结构用于表示讨论线程时。他们发现现有解决方案在最新版本的Smarty中不适用,并表达了对创建特定插件的考虑,以解决这个特定问题。博客内容涉及到如何在模板逻辑内优雅地打印出嵌套列表,而不涉及额外的HTML处理。
摘要由CSDN通过智能技术生成

我找到了几种方法来处理Smarty中的递归,主要是基于将模板包含在自身中,这似乎是荒谬的资源浪费.我找到了一个解决方案,由Messju在Smarty看起来似乎是正确的 – 但它不受支持并且在最新版本的smarty中失败:(

对于人们提问:我想要打印出来的是一个由一系列条目定义的讨论线程.如果条目具有一个或多个答案,那么这些答案将列为数组中所述条目的子项,依此类推.

array(

array(

'id'=>0,

'headline'=>"My parent headline",

'body' =>"My parent body",

'children'=>array(

array(

'id'=>1,

'headline'=>"My firstChild headline",

'body' =>"My firstChild body",

'children'=>array()

),

array(

'id'=>2,

'headline'=>"My secondChild headline",

'body' =>"My secondChild body",

'children'=>array()

)

)

),

);

嵌套数组具有任意深度,每个条目将具有任意数量的子项.对我来说,这是我想在模板范围内做的事情,因为我认为它是纯粹的显示逻辑.我不想在模板之外处理HTML或某种类型的HTML占位符.

我想要巧妙地将其打印为嵌套列表:

  • My parent headline

    My parent body

    • My firstChild headline

      My firstChild body

    • My secondChild headline

      My secondChild body

我开始意识到这可能是一个非常具体的问题,所以我想我会写一个聪明的插件来专门处理这个问题,尽管我宁愿有一个全面的解决方案.

有办法吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值