简体   繁体   English

为链接向导生成的打字链接字段创建 TYPO3 Fluid 链接

[英]Create TYPO3 Fluid link for typolink fields generated by a link wizard

I regularly use the link wizard in my TCA.我经常在我的 TCA 中使用链接向导。

Its horrible to find out with conditions which kind of link I have to render in Fluid (page/email/external).在有条件的情况下找出我必须在 Fluid(页面/电子邮件/外部)中呈现哪种链接是可怕的。 Is there a solution for this or do I have to create my own ViewHelper?是否有解决方案或我必须创建自己的 ViewHelper?

It seems to be undocumented, but you can pass it to <f:link.page> and it will be rendered correctly, even if it is external, email, or file link.它似乎没有记录,但您可以将它传递给<f:link.page>并且它会正确呈现,即使它是外部、电子邮件或文件链接。 This is because internally, <f:link.page> uses UriBuilder to build the URL, and that UriBuilder uses Typolink.这是因为在内部, <f:link.page>使用UriBuilder来构建 URL,而 UriBuilder 使用 Typolink。

<f:link.page pageUid="{myLinkFieldValue}">My link</f:link.page>

这是我为此使用的 ViewHelper(+ 一个助手类): https : //gist.github.com/BenjaminBeck/7220623

I think the link.typolink ViewHelper is what you are looking for, at least for TYPO3 7.0 and above.我认为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>

In Fluid, there are different link view helpers:在 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>

The Code (and some examples) can be found at: typo3/sysext/fluid/Classes/ViewHelpers/Link代码(和一些示例)可以在以下位置找到:typo3/sysext/fluid/Classes/ViewHelpers/Link

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM