此代码在我的前端显示来自后端的 Textarea 输入:
<f:format.nl2br>{data.textfield}</f:format.nl2br>
它可能有链接作为简单的文本,例如:
http://www.example.com
是否有可能以某种方式检测这些链接并使用 Typo3 6 和 Fluid 在其周围包裹一个链接标签?
它在 Javascript 中相当简单,但如果可能的话,我更喜欢这里的 Typo3/Fluid 解决方案。
为什么不将 RTE 用于后端的 Textfield 并在 Fluid 中使用
<f:format.html>{data.textfield}</f:format.html>
如果你这样做,你就会渲染你的换行符和所有的链接。在 TCA 配置中启用 RTE 功能:
'textarea' => array(
'exclude' => 0,
'label' => 'your_label_from_locallang.xlf',
'config' => array(
'type' => 'text',
'cols' => 40,
'rows' => 15
),
'defaultExtras' => 'richtext[]'
),
流体是否在扩展的上下文中使用?如果是这样,请在 php 端进行检查并将布尔值绑定到视图。然后你可以使用这样的东西:
<f:if condition="isLink">
<f:then>
<f:link.external uri="{data.textfield}" target="_blank">{data.textfield}</f:link.external>
</f:then>
<f:else>
<f:format.nl2br>{data.textfield}</f:format.nl2br>
</f:else>
</f:if>
不幸的是,它只能在流体方面检查的条件非常有限,因此如果您不能使用 php,这将无济于事。另一种可能性是为此创建一个 ViewHelper。