我正在为我的一个数据模型(“Achievement”)配置Symfony 1.4的管理生成器。 “Achievement”数据模型有一个字段(“url”),用于存储外部资源的URL,我希望此URL在管理生成器列表操作中呈现为链接。默认情况下,admin生成器将链接显示为纯文本。我尝试编写一个函数来用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,是否没有更精细的转义控制?