TYPO3 6.2:从页面资源创建带超链接的图像滑块

3
我从页面资源中创建了一个良好运行的图像滑块。现在我正在尝试使用资源中提供的链接将这些图像与链接进行超链接。这是我目前的代码:
TS:
lib.headerimage = COA_INT
lib.headerimage {
    1 = COA
    1 {
        stdWrap.required = 1
        stdWrap.outerWrap.cObject = TEXT
        stdWrap.outerWrap.cObject.value = <li><img src=" | " /></li>

        2 = IMG_RESOURCE
        2 {
            file {
                import.data = levelmedia:-1, slide
                import.listNum = 0
                treatIdAsReference = 1
            }
        }   
    }
    2 < .1
    2.2.file.import.listNum = 1
    3 < .1
    3.2.file.import.listNum = 2
}

布局:

<div class="headerimage">
    <ul>
        <f:render section="headerimage" />
    </ul>
</div>

这将导致期望的 HTML 输出。
<ul>
    <li>
        <img />
    </li>
</ul>

但我想要以下输出。
<ul>
    <li>
        <a href="link_from_page_ressource">
            <img />
        </a>
    </li>
</ul>

我如何在我的图片周围添加链接?

提前感谢

更新

解决方案:

lib.headerimage = COA
lib.headerimage {
    1 = FILES
    1 {
        references {
            data = levelmedia:-1, slide
        }
        renderObj = COA
        renderObj {
            wrap = <li>|</li>

            1 = IMAGE
            1 {
                file.import.data = file:current:publicUrl
                altText.data = file:current:title
                stdWrap.typolink.parameter.data = file:current:link
            }
        }
    }
}

1
不要使用COA_INT,它不会被缓存,并且会完全禁用使用nc_staticfilecache静态缓存页面的可能性。请改用COA。 - Urs
3个回答

6
您应该使用FILES来处理此问题。可以尝试类似以下的代码(未测试!):
lib.headerimage = COA
lib.headerimage {
    wrap = <ul>|</ul>

    10 = FILES
    10 {
        references {
            data = levelmedia:-1, slide
        }

        renderObj = COA
        renderObj {
            10 = IMAGE
            10 {
                file.import.data = file:current:publicUrl
                altText.data = file:current:title
                stdWrap.typolink.parameter.data = file:current:link
                wrap = <li>|</li>
            }
        }
    }
}

这几乎是我想要的。但是...生成的HTML看起来像这样:<ul><a><li></li></a></ul> 而我想要的是<ul><li><a></a></li></ul> 有没有办法获得这个HTML? - Peh
好的,知道了。我的问题已更新,附上了新代码。非常感谢您! - Peh

1

1

你能试一下这个吗?

lib.headerimage = COA
lib.headerimage {
   wrap = <ul>|</ul>

        1 = IMAGE
        1 {
            file {
                import.data = levelmedia:-1, slide
                import.listNum = 0
                treatIdAsReference = 1
            }
            stdWrap.typolink.parameter.data = file:current:link
            stdWrap.outerWrap = <ul>|</ul>
        }   

    2 < .1
    2.file.import.listNum = 1
    3 < .1
    3.file.import.listNum = 2
}

哦,Merec先完成了! :-) 他的应该更好用,试试两个。 - Urs
谢谢,我使用了Merec的代码并稍作修改以适应我的预期HTML输出。 - Peh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接