使用TYPO3 8 LTS,我们得到了许多标准化的文件名,如:
ABC_105-Report.pdf
DEFGH_110-Brochure.ppt
我们需要删除“ - ”左边的任何内容,以便在TYPO3前端中成为这样的列表:
Report.pdf
Brochure.ppt
我们已经在使用包含Format:Eliminiate,Substring的VHS Viewhelpers,因此它可能是解决方案的一部分。
一种可能的解决方案是VHS:Format / PregReplaceViewHelper。
<f:alias map="{filenames: {
0: 'ABC_105-Report.pdf',
1: 'DEFGH_110-Brochure.ppt',
2: 'FilenameWithoutMagicChar.jpg',
3: 'Multiple-Magic-Chars.jpg'}}">
<ul>
<f:for each="{filenames}" as="filename">
<li>
{v:format.pregReplace(
subject: filename,
pattern: '/^[^-]*-/',
replacement: ''
)}
</li>
</f:for>
</ul>
</f:alias>
结果:
如果需要'Chars.jpg'而不是'Magic-Chars.jpg',那么正则表达式就是/-.*/
。
一个非常基本的typoscript viewhelper:
在液体中:
<f:cObject typoscriptObjectPath="lib.filenameStub" data="{filename}" />
在typoscript中:
lib.filenameStub = TEXT
lib.filenameStub {
current = 1
split {
max = 2
token = -
returnKey = 1
}
}