1

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

我已经尝试过 $Text.RAW, $Text.XML,... 没有任何效果。

感谢您的帮助,亲切的问候,弗洛里安

4

2 回答 2

3

假设您使用的是 3.0,这是一个错误。你可以在这里看到它http://open.silverstripe.org/ticket/7596

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

这是一个例子:

public function NiceDescription () {
     return (nl2br  (Convert::raw2xml ($this->Description), true));
}

您可以将“描述”替换为您的文本属性的名称。

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

$NiceDescription
于 2012-08-17T22:47:14.980 回答
0

要在 html 中直观地呈现换行符,您需要将它们转换为<BR>标签。见http://php.net/manual/de/function.nl2br.php

于 2012-08-17T14:54:08.663 回答