You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Smarty模板多线展示数组结果问题求助

解决Smarty中键值对数组多行展示问题

你当前遇到的核心问题是:针对ID为199的"Accords mets-vin"特征,它的values数组包含11个元素,但现有代码仅能显示第一个值。原因是你依赖外层foreach的$i变量来索引子数组,而外层循环仅执行4次(对应数组里的4个feature项),完全覆盖不了11个values元素。

问题分析

从你提供的$features数组结构来看,ID=199的feature的values是包含11个餐酒配对建议的数组:

199 => Array (4)
  values => Array (11)
    0 => "Charcuterie"
    1 => "Desserts"
    ...
    10 => "Fromages"

要实现多行展示,你需要单独遍历这个子数组,而不是依赖外层循环的索引变量。

修正后的代码

调整逻辑:先定位到ID=199的feature,再循环它自身的values数组,为每个值生成一行内容:

{foreach from=$features item=feature}
    {if $feature.id_feature == 199 && isset($feature.values)}
        <div class="col-xs-12 col-md-12 col-lg-12">
            <div class="row">
                {* 遍历当前feature的所有values元素 *}
                {foreach from=$feature.values item=value}
                    <div class="col-xs-8 col-md-8 col-lg-8">
                        <p class="accord_title">{$value|escape:'html':'UTF-8'}</p>
                    </div>
                {/foreach}
            </div>
        </div>
    {/if}
{/foreach}

代码说明

  1. 外层foreach仍遍历所有$features项,先筛选出ID=199的特征
  2. 新增内层foreach,专门遍历该特征的values数组,每个$value对应一个餐酒配对建议
  3. 移除了原来的$i变量,无需再用外层循环的索引取值
  4. 保留了你原有的HTML结构,每个值都会生成一个带accord_title类的<p>标签,实现多行展示效果

如果需要启用你注释掉的图标部分,可将图标代码移入内层循环(若图标为统一样式,也可放在外层):

{foreach from=$features item=feature}
    {if $feature.id_feature == 199 && isset($feature.values)}
        <div class="col-xs-12 col-md-12 col-lg-12">
            {foreach from=$feature.values item=value}
                <div class="row">
                    <div class="col-xs-4 col-md-4 col-lg-4">
                        <img src="{$img_dir}icon-{$value|lower|replace:' ':'-'}-black.png">
                    </div>
                    <div class="col-xs-8 col-md-8 col-lg-8">
                        <p class="accord_title">{$value|escape:'html':'UTF-8'}</p>
                    </div>
                </div>
            {/foreach}
        </div>
    {/if}
{/foreach}

这样就能实现你想要的多行展示所有餐酒配对建议的效果了。

内容的提问来源于stack exchange,提问作者Chris99391

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:45:08