1

我制作了一个插件,我在“媒体”字段中存储了许多图像,并在“图像标题”字段中存储了尽可能多的标题。

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

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
            }
        }
    }
}

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

我怎么能做到?

4

3 回答 3

4

Split 是一个返回所有元素的函数。在 20.10 中,您将获得字段图像的内容,由换行符 fe 分割,之后,您将获得 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
            }
        }
    }
于 2012-03-14T12:50:20.397 回答
2

我不认为 token = \n 是正确的。您正确地需要使用 .char = 10。您还需要以某种方式嵌套您的 TS,因为当前的解决方案确实会一一处理这些字段。

于 2012-03-13T08:20:54.107 回答
0

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

于 2012-03-12T16:57:27.710 回答