Получить URL обработанного изображения в TYPO3 - PullRequest
0 голосов
/ 16 мая 2018

Мне нужно получить URL обработанного изображения из TYPO3.Изображения помещаются в пользовательский элемент содержимого и модифицируются пользователями (например, обрезаны).

Я могу получить исходный URL-адрес файла, но мне нужен обработанный URL-адрес изображения (из таблицы file_processedImages).

Вот мой TS:

# <------------ Speakers -------- 
tt_content.speakers = FLUIDTEMPLATE
tt_content.speakers {
file = EXT:cce/Resources/Speakers.html
variables {
    images = FILES
    images {

        references {
            table = tt_content
            fieldName = image
        }
        renderObj = COA
        renderObj {

            10 = TEXT
            10 {
                data = file:current:uid
                treatIdAsReference = 1
                wrap = |,
            }

            20 = TEXT 
            20 {
                data = file:current:publicUrl
                treatIdAsReference = 1
                wrap = |###
            }

            30 = TEXT 
            30 {
                data = file:current:title
                wrap = |,
            }

            40 = TEXT 
            40 {
                data = file:current:description
                htmlSpecialChars = 1
            }
        }       
    }   
}

}

Я думал, что ссылочная таблица всегда загружается как sub в tt_content.Это означает, что я должен быть в состоянии прочитать publicUrl из ссылочных изображений, как это

data = file:current:publicUrl
treatIdAsReference = 1

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Как писал Томас, я бы также предложил использовать FilesProcessor в вашей FLUIDTEMPLATE:

tt_content.speakers = FLUIDTEMPLATE
tt_content.speakers {
file = EXT:cce/Resources/Speakers.html
dataProcessing {
    10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
    10 {
        references.fieldName = image
    }
}

В своем шаблоне флюида вы можете получить доступ к общедоступному URL исходного файла (не обработан) или получить обработанный URL, если применяется какая-либо обрезка или maxHeight и т. Д .:

<f:for each="{files}" as="file">
    <p>Public URL: {file.originalFile.publicUrl}</p>
    <p>Processed URL: <f:uri.image image="{file}" height="{data.imageheight}" width="{data.imagewidth}" /></p>
    <hr />
</f:for>
0 голосов
/ 16 мая 2018

Может быть, вам следует использовать FilesProcessor, чтобы получить модель Extbase и использовать ее во Fluid? Смотри: https://docs.typo3.org/typo3cms/TyposcriptReference/7.6/ContentObjects/Fluidtemplate/#dataprocessing

...