Как удалить строки слева от "-" в имени файла в TYPO3 Fluid? - PullRequest
0 голосов
/ 07 сентября 2018

Используя TYPO3 8 LTS, мы получили много стандартизированных имен файлов, таких как:

ABC_105-Report.pdf 
DEFGH_110-Brochure.ppt

Нам нужно удалить все, что находится слева от «-», чтобы он стал таким списком в интерфейсе TYPO3:

Report.pdf 
Brochure.ppt

Мы уже используем VHS Viewhelpers, который содержит формат: Eliminiate, Substring, поэтому он может быть частью решения.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

очень простой типографский справочник:

в жидкости:

<f:cObject typoscriptObjectPath="lib.filenameStub" data="{filename}" />

в машинописи:

lib.filenameStub = TEXT
lib.filenameStub {
    current = 1
    split {
        max = 2
        token = -
        returnKey = 1
    }
}
0 голосов
/ 09 сентября 2018

Одним из возможных решений является 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
  • Magic-Chars.jpg

Если вместо ' Magic-Chars.jpg ' требуется ' Chars.jpg ', регулярное выражение будет /-.*/.

...