Content management system 内容中的silverstripe后端换行符不会显示在前端

Content management system 内容中的silverstripe后端换行符不会显示在前端,content-management-system,silverstripe,Content Management System,Silverstripe,我在编辑页面视图的Silverstripe后端有一个TextArea字段。。。要插入的文本包含换行符。如果我保存页面,文本将正确显示,并在TextArea字段中使用换行符。断线肯定会正确保存到数据库中。但是如何在前端正确显示文本?它总是在一行中输出,没有换行符 我已经试过$Text.RAW,$Text.XML,。。。什么都不管用 谢谢你的帮助, 亲切问候,, Florian要在html中直观地呈现换行符,需要将它们转换为标记。 请参见假设您使用的是3.0,这是一个bug。你可以在这里看到 解决方

我在编辑页面视图的Silverstripe后端有一个TextArea字段。。。要插入的文本包含换行符。如果我保存页面,文本将正确显示,并在TextArea字段中使用换行符。断线肯定会正确保存到数据库中。但是如何在前端正确显示文本?它总是在一行中输出,没有换行符

我已经试过$Text.RAW,$Text.XML,。。。什么都不管用

谢谢你的帮助, 亲切问候,,
Florian

要在html中直观地呈现换行符,需要将它们转换为

标记。
请参见

假设您使用的是3.0,这是一个bug。你可以在这里看到

解决方法是在文本字段上编写自己的函数调用nl2br

以下是一个例子:

public function NiceDescription () {
     return (nl2br  (Convert::raw2xml ($this->Description), true));
}
您可以用文本属性的名称替换“Description”

然后在模板文件中,如果需要显示“描述”字段,您将调用该函数:

$NiceDescription

此答案向您展示了如何将此格式作为数据扩展应用于Silverstripe 3中的所有文本字段: