Typo3 打字稿-拆分“;“媒体”;及;imagecaption";同时

Typo3 打字稿-拆分“;“媒体”;及;imagecaption";同时,typo3,typoscript,Typo3,Typoscript,我制作了一个插件,在其中我在“媒体”字段中存储了许多图像,并在“图像标题”字段中输出了尽可能多的标题 现在我的愿望是这样展示它: 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

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

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

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
            }
        }
    }
}
plugin.tx\u myplugin\u pi1=COA
plugin.tx_myplugin_pi1{
10=文本
10.字段=标题
10.1|
20=COA
20{
10=文本
10{
字段=媒体
分裂{
令牌=,
钴=1
1.电流=1
}
}
20=文本
20{
字段=图像标题
分裂{
token.char=10
钴=1
1.电流=1
}
}
}
}
但它并没有真正起作用,因为它首先显示所有的文件名,然后显示标题


我怎么能做到呢?

我现在不记得了,但我写了一个扩展,在图片和标题中添加了一个框架。它可以解决您的标题问题:。

我现在不记得了,但我写了一个扩展,在图片和标题中添加了一个框架。它可以解决您的标题问题:。

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

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

Split是一个返回所有元素的函数。在20.10范围内,您得到字段图像的内容,由换行符f.e.分割,然后,您得到20.20的内容,其中包含imagecaption

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


Split是一个返回所有元素的函数。在20.10范围内,您得到字段图像的内容,由换行符f.e.分割,然后,您得到20.20的内容,其中包含imagecaption

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


这只是我问题的一个简单版本。我不想这样使用它。这只是我问题的一个简单版本。我不想那样使用它。没错。这是我不知道的“莫名其妙”吗。这是我不知道的“莫名其妙”吗?看起来几乎就是我想要的!但是“splitchar.char=10”是错误的。右边的命令是“splitchar=10”。“listNum.data”行不起作用:SFigured!其“listNum.stdWrap.data=寄存器:拆分计数”!!非常感谢。“cObjNum=1”和“1.current=1”是什么意思?cObjNum=1 | | 2选项拆分:第一个选项将使用定义1呈现,第二个选项使用定义2呈现。您可以在那里使用stdWrap,这意味着根据标志选择不同的渲染。例如,您可以使用cObjNum.field=section_frame(或cObjNum.stdWrap.field-untested;),然后为每个渲染定义一个特殊的渲染。看起来几乎是我想要的!但是“splitchar.char=10”是错误的。右边的命令是“splitchar=10”。“listNum.data”行不起作用:SFigured!其“listNum.stdWrap.data=寄存器:拆分计数”!!非常感谢。“cObjNum=1”和“1.current=1”是什么意思?cObjNum=1 | | 2选项拆分:第一个选项将使用定义1呈现,第二个选项使用定义2呈现。您可以在那里使用stdWrap,这意味着根据标志选择不同的渲染。例如,您可以使用cObjNum.field=section_frame(或cObjNum.stdWrap.field-untested;),然后为每个渲染定义一个特殊的渲染。
    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
            }
        }
    }