聪明的猫逃脱html



我有一个简单的代码:

{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}

最新更新