我正在为我的一个数据模型(“成就”)配置 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 是否没有更细粒度的转义控制?