SilverStripe的新手,并试图让事情变得有效。
我在页面中有一个字段,用于存储一些HTML代码。当您查看其“持有者”页面时,它会遍历每个子页面并显示所有子页面。我遇到的问题是当我输出值时它会逃避它 - 所以我需要能够解码它。
<% control Children %>
<h2>$Title </h2>
$ExtraHtmlBody <!-- This is escaping when outputting -->
<% end_control %>
所以我尝试在我的Page_Controller中添加一个函数,但似乎我无法从Control循环中调用Page_Controller方法。我尝试将该函数移动到Page类中,但它似乎没有$ this-&gt; ExtraHtmlBody的任何数据。也许我做错了什么。
答案 0 :(得分:2)
您的数据可能已在数据库中转义。你检查了吗?
像@munomono所说,如果你要存储html使用HTMLText
或HTMLVarchar
。
您还可以尝试使用$ExtraHtmlBody.RAW
在模板中停用自动转义功能(风险自负)。
这里有一些信息:
您的控制器功能问题可能只是一个范围问题,因为<% loop %>
更改了范围,$Up
/ $Top
可能有所帮助。但是你可能还不需要那个功能。