检查页面资源中是否有图像

时间:2014-03-19 12:44:00

标签: menu typo3 conditional-statements typoscript

我在一个sysfolder中有一系列页面和快捷方式。 通过这些页面,我构建了一个链接列表。

您可以通过在页面属性的ressources中添加图片来为每个链接添加图像。

除了没有图像的页面,Everythings完美地工作。 如果是这样,链接会显示两次。

如果资源中没有图像,我需要添加一个不执行before.cObject事情的条件。 这是我需要你的帮助。

lib.menu = HMENU
lib.menu {
    special = directory
    special.value = {$lib.sysfolder}

    wrap = <ul>|</ul>

    1 = TMENU
    1 {
        NO {
            allWrap  = <li>|</li>
            ATagTitle.field = subtitle // title

            before.cObject = IMAGE
            before.cObject.file.import = uploads/media/
            before.cObject.file.import.field = media
            before.cObject.file.import.listNum = 0
            before.cObject.altText.field = abstract
            before.cObject.stdWrap.typolink.parameter.field = uid
        }
        ACT = 0
    }
}

这是生成的HTML的一个示例。这是一个有三个项目的听众。 第一个和第三个没有任何图像。第二个得到了一个。

<ul>
    <li>
        <a href="mobile/">Mobile</a><a href="mobile/" title="Mobile" onfocus="blurLink(this);">Mobile</a>
    </li>
    <li>
        <a href="actualite/flux-rss-et-reseaux-sociaux/"><img src="uploads/media/feed.png" width="16" height="16" border="0" alt="Icône de flux RSS"></a><a href="actualite/flux-rss-et-reseaux-sociaux/" title="RSS" onfocus="blurLink(this);">RSS</a>
    </li>
    <li>
        <a href="contact/">Contact</a><a href="contact/" title="Contact" onfocus="blurLink(this);">Contact</a>
    </li>
</ul>

1 个答案:

答案 0 :(得分:1)

而不是直接使用

before.cObject = IMAGE

使用COA:

before.cObject = COA
before.cObject {
   stdWrap.if {
     isTrue.field = media
   }
   10 = IMAGE
   10 ...
}

然后你把&#34; if.isTrue&#34;关于COA