Typoscript - 同时拆分“媒体”和“图像标题”

时间:2012-03-12 14:44:52

标签: typo3 typoscript

我制作了一个插件,我在“媒体”字段中存储了许多图像,并在“imagecaption”字段中显示了许多字幕。

现在我的愿望是这样显示:

image1.png
caption 1
image2.png
caption 2
image3.png
caption 3

这就是我一直试图做到的,但它不起作用:

plugin.tx_myplugin_pi1 = COA
plugin.tx_myplugin_pi1{
    10 = TEXT
    10.field = header
    10.wrap = <h1>|</h1>

    20 = COA
    20{
        10 = TEXT
        10{
            field = media
            split{
                token = ,
                cObjNum = 1
                1.current = 1
            }
        }

        20 = TEXT
        20{
            field = imagecaption
            split{
                token.char = 10
                cObjNum = 1
                1.current = 1
            }
        }
    }
}

但它并没有真正起作用,因为它首先显示所有文件名,然后显示标题。

我怎么能这样做?

3 个答案:

答案 0 :(得分:4)

Split是一个返回所有元素的函数。在20.10之内,您将获得字段图像的内容,并按换行符f.e.然后,你得到20.20的内容有图像标题。

您需要做什么(未经测试):

    10 = TEXT
    10{
        field = media
        split{
            token = ,
            cObjNum = 1
            1.current = 1
            # for each image, add the imagecaption
            1.append = TEXT
            1.append {
               field = imagecaption
               # split saves the index in REGISTER:SPLIT_COUNT
               listNum.stdWrap.data = REGISTER:SPLIT_COUNT
               listNum.splitChar = 10
            }
        }
    }

答案 1 :(得分:2)

我不认为令牌= \ n是正确的。你需要使用.char = 10。 此外,您还需要以某种方式嵌套您的TS,因为当前的解决方案会逐个处理这些字段。

答案 2 :(得分:0)

我现在不记得了,但我写了一个扩展,为图片和标题添加了一个框架。它可以通过标题解决您的问题:http://typo3.org/extensions/repository/view/ch_imgtext_renderengine/current/