0

此代码在我的前端显示来自后端的 Textarea 输入:

<f:format.nl2br>{data.textfield}</f:format.nl2br>

它可能有链接作为简单的文本,例如:

http://www.example.com

是否有可能以某种方式检测这些链接并使用 Typo3 6 和 Fluid 在其周围包裹一个链接标签?

它在 Javascript 中相当简单,但如果可能的话,我更喜欢这里的 Typo3/Fluid 解决方案。

4

2 回答 2

0

为什么不将 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[]'
    ),
于 2013-11-06T11:20:21.020 回答
0

流体是否在扩展的上下文中使用?如果是这样,请在 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。

于 2013-11-06T13:21:33.323 回答