0

我有简单的代码:

{html_checkboxes values=$user_data['names']['id'] output = $user_data['names']['user_name']|cat:' | Status: '|cat:$user_data['names']['status'] escape=false}

在数组$user_data['names']['status']中存储了用户状态<span style="color: red">User</span>,所以我需要像用户名 |一样显示它 状态:用户(红色用户),但 smarty 将其切断。没有 cat,它只有 1 个变量就可以了。

我也测试过{user_data['names']['status']}"lol"|cat:$user_data['names']['status']而且$user_data['names']['user_name']|cat:' | Status: '|cat:$user_data['names']['status']- 它工作正常。问题出在哪里?

4

1 回答 1

0

根据版本(Smarty2 / Smarty3),您可能需要以下之一:

{html_checkboxes values=$user_data.names.id output={$user_data.names.user_name|cat:' | Status: '|cat:$user_data.names.status} escape=false}

将您的值分配给一个变量以使事情变得简单:

{assign var="foo" value=$user_data.names.user_name|cat:' | Status: '|cat:$user_data.names.status}
{html_checkboxes values=$user_data.names.id output=$foo escape=false}

或将 {capture} 用于更复杂的事情(消除对cat修饰符的需要):

{capture assign="foo"}{$user_data.names.user_name|cat:' | Status: '|cat:$user_data.names.status}{/capture}
{html_checkboxes values=$user_data.names.id output=$foo escape=false}
于 2012-09-12T08:13:01.150 回答