【发布时间】:2012-10-14 19:03:09
【问题描述】:
我经常在我的 TCA 中使用链接向导。
在条件下找出我必须在 Fluid 中呈现哪种链接(页面/电子邮件/外部)太可怕了。是否有解决方案或者我必须创建自己的 ViewHelper?
【问题讨论】:
我经常在我的 TCA 中使用链接向导。
在条件下找出我必须在 Fluid 中呈现哪种链接(页面/电子邮件/外部)太可怕了。是否有解决方案或者我必须创建自己的 ViewHelper?
【问题讨论】:
它似乎没有文档,但你可以将它传递给<f:link.page>,它会正确呈现,即使它是外部、电子邮件或文件链接。这是因为在内部,<f:link.page> 使用 UriBuilder 构建 URL,而 UriBuilder 使用 Typolink。
<f:link.page pageUid="{myLinkFieldValue}">My link</f:link.page>
【讨论】:
这是我为此使用的 ViewHelper(+一个辅助类): https://gist.github.com/BenjaminBeck/7220623
【讨论】:
我认为 link.typolink ViewHelper 是您正在寻找的,至少对于 TYPO3 7.0 及更高版本。
<f:link.typolink parameter="{link}">
Linktext
</f:link.typolink>
【讨论】:
External Link --
<f:link.external uri="http://www.typo3.org" target="_blank">external link</f:link.external>
Email --
<f:link.email additionalAttributes="{foo: 'bar'}" email="NULL" class="NULL" dir="NULL" id="NULL" lang="NULL" style="NULL" title="NULL" accesskey="NULL" tabindex="123" onclick="NULL" name="NULL" rel="NULL" rev="NULL" target="NULL">
<!-- tag content - may be ignored! -->
</f:link.email>
Internal Link --
<f:link.page pageUid="1" additionalParams="{extension_key: {foo: 'bar'}}">page link</f:link.page>
【讨论】:
在 Fluid 中,有不同的链接视图助手:
<f:link.action action="show">action link</f:link.action>
<f:link.email email="foo@bar.tld" />
<f:link.external uri="http://www.typo3.org" target="_blank">external link</f:link.external>
<f:link.page>page link</f:link.page>
代码(和一些示例)可以在以下位置找到:typo3/sysext/fluid/Classes/ViewHelpers/Link
【讨论】: