如何删除 TYPO3 Fluid 文件名中“-”左边的字符串?
How to remove strings at left of "-" in filename in TYPO3 Fluid?
使用 TYPO3 8 LTS,我们得到了许多标准化的文件名,例如:
ABC_105-Report.pdf
DEFGH_110-Brochure.ppt
我们需要删除“-”左侧的所有内容,以便它在 TYPO3 前端中变成这样的列表:
Report.pdf
Brochure.ppt
我们已经在使用包含 Format:Eliminiate、子字符串的 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>
结果:
- Report.pdf
- Brochure.ppt
- FilenameWithoutMagicChar.jpg
- 魔法-Chars.jpg
如果需要'Chars.jpg'而不是'Magic-Chars.jpg',正则表达式是 /-.*/
.
一个非常基本的错字查看助手:
在液体中:
<f:cObject typoscriptObjectPath="lib.filenameStub" data="{filename}" />
打字错误:
lib.filenameStub = TEXT
lib.filenameStub {
current = 1
split {
max = 2
token = -
returnKey = 1
}
}
使用 TYPO3 8 LTS,我们得到了许多标准化的文件名,例如:
ABC_105-Report.pdf
DEFGH_110-Brochure.ppt
我们需要删除“-”左侧的所有内容,以便它在 TYPO3 前端中变成这样的列表:
Report.pdf
Brochure.ppt
我们已经在使用包含 Format:Eliminiate、子字符串的 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>
结果:
- Report.pdf
- Brochure.ppt
- FilenameWithoutMagicChar.jpg
- 魔法-Chars.jpg
如果需要'Chars.jpg'而不是'Magic-Chars.jpg',正则表达式是 /-.*/
.
一个非常基本的错字查看助手:
在液体中:
<f:cObject typoscriptObjectPath="lib.filenameStub" data="{filename}" />
打字错误:
lib.filenameStub = TEXT
lib.filenameStub {
current = 1
split {
max = 2
token = -
returnKey = 1
}
}