[英]Smarty cat escapes 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 | 狀態:用戶 (用戶為紅色),但是巧妙地將其切斷。 如果沒有cat,它只有1個變量就可以了。
我還測試了{user_data['names']['status']}
, "lol"|cat:$user_data['names']['status']
和$user_data['names']['user_name']|cat:' | Status: '|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}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.