通过流体渲染多层链接字段 - TYPO3

时间:2016-10-07 09:20:13

标签: typo3 fluid extbase

在TYPO3流体模板中渲染link field的最佳方法是什么?

链接字段通过flexform定义为:

<field_link type="array">
  <TCEforms type="array">
    <config type="array">
      <type>input</type>
      <eval>trim</eval>
      <wizards type="array">
        <link type="array">
        <type>popup</type>
        <title>Link</title>
        <icon>link_popup.gif</icon>
        <script>
          browse_links.php ? mode = wizard & amp;
          act = page
        </script>
        <params type="array">
          <blindLinkOptions>file,spec,email,folder</blindLinkOptions>
        </params>
        <JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
        </link>
      </wizards>
    </config>
    <label>link</label>
  </TCEforms>
</field_link>

Fluid附带了viewhelper,例如link.email,link.external,link.page,但我的链接字段可以是页面ID,外部链接或电子邮件或链接到sys_file记录。你如何在你的项目中处理它而不在流体模板中制作多个if statemens? (自定义viewhelper?,typoscript对象)?

2 个答案:

答案 0 :(得分:2)

您还可以使用f:link.page生成外部网址或文件的链接,这与使用内部typolink无关。

如果您使用的是示例中的向导,则应使用支持所有属性的f:link.typolink viewhelper。

答案 1 :(得分:0)

电子邮件链接完美无缺

这里是我的flexform:

<settings.link>
    <TCEforms>
        <label>Link</label>
        <config>
            <type>input</type>
            <size>30</size>
            <eval>trim</eval>
            <softref>typolink,typolink_tag,images,url</softref>
            <wizards>
                <_PADDING>2</_PADDING>
                <link>
                    <type>popup</type>
                    <title>Link</title>
                    <module>
                        <name>wizard_element_browser</name>
                        <urlParameters>
                            <mode>wizard</mode>
                        </urlParameters>
                    </module>
                    <icon>link_popup.gif</icon>
                    <script>browse_links.php?mode=wizard</script>
                    <params>
                        <blindLinkOptions>file,folder,url,spec</blindLinkOptions>
                    </params>
                    <JSopenParams>height=500,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
                </link>
            </wizards>
        </config>
    </TCEforms>
</settings.link>

输出:

<a href="javascript:linkTo_UnCryptMailto('nbjmup+nbjmAuzqpmjol\/dpn');">Liunk</a>