我有一个简单的代码:
{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>
一样的用户状态,所以我需要像Username|Status:user(红色用户)一样显示它,但巧妙地将其切断。没有cat,它只有一个变量,一切都好。
我还测试了{user_data['names']['status']}
、"lol"|cat:$user_data['names']['status']
和$user_data['names']['user_name']|cat:' | Status: '|cat:$user_data['names']['status']
,效果不错。问题出在哪里?
根据版本(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}