【问题标题】:Smarty: Combine variable with attributeSmarty:将变量与属性结合起来
【发布时间】:2019-10-28 08:07:01
【问题描述】:

smarty中如何在属性中间添加变量的值?

例子:

{for $limit=1 to 50}
   {if {$customer_data.attribute.kind{$limit}aktiv} == '1'} // I want to place the $limit variable right behind 'kind'
       "Activ!"
   {/if}
{/for}

【问题讨论】:

    标签: concatenation smarty attr


    【解决方案1】:

    为清楚起见,您可以在单独的行上计算属性名称。您可以使用backticks 完成连接。

    {for $limit=1 to 5}
      {assign "attrName" "kind`$limit`aktiv"}
      {if $customer_data.attribute.$attrName == '1'}
        <div>{$attrName} Activ!</div>
      {/if}
    {/for}
    

    PHP 示例数据:

    $smarty->assign('customer_data', [
      'attribute' => [
        'kind1aktiv' => 0,
        'kind2aktiv' => 1,
        'kind3aktiv' => 1,
        'kind4aktiv' => 0,
        'kind5aktiv' => 1,
      ],
    ]);
    

    最后,您可以考虑在 PHP 中准备一个更简单的数据结构。 Smarty 不必关心计算,只关心演示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多