我爲我的數據模型之一(「成就」)配置Symfony 1.4的管理生成器。 「成就」數據模型有一個字段(「url」),用於存儲指向外部資源的URL,並且我希望此URL在管理生成器列表操作中呈現爲鏈接。默認情況下,管理生成器將鏈接顯示爲純文本。我試着編寫一個函數來用HTML裝飾URL,如果字符串太長(添加到「lib/model/doctrine/Achievement.class.php」),則修剪該字符串。爲管理生成器列表操作禁用轉義?
function getLink()
{
$text = $this->getUrl();
if(strlen($text) > 40)
{
$text = sprintf("%s...%s", substr($text, 0, 20), substr($text, -20, 20));
}
return sprintf('<a href="%s">%s</a>', $this->getUrl(), $text);
}
不幸的是,在管理生成器列表視圖中,HTML被轉義,留下一個長長的醜陋字符串。我無法弄清楚如何禁用此字段的轉義。
如果我在「apps/backend/config/settings.yml」中將「ESC_SPECIALCHARS」更改爲「ESC_RAW」,則鏈接正確呈現。 Symfony 1.4沒有更好的控制轉義嗎?