Search code examples
typo3typoscript

Get meta data of a file in FILES-Object


I'm trying to get file metadata in a FILES-Object:

I have a CONTENT-Object to build Teaser of subpages of a Page. Because Inheritance of Levelmedia did not work for me in the CONTENT-Object I have build a Fallback with ifEmpty. Here is my TS:

lib.subpages = COA
lib.subpages {
    10 = CONTENT
    10 {
        table = pages
        select.where = nav_hide != 1 AND doktype IN (1,3,4)
        renderObj = COA
        renderObj {
            stdWrap.wrap = <div class="grid-elem teaser"><div>|</div</div>
            stdWrap.wrap.insertData = 1
            stdWrap.innerWrap = |

            10 = COA
            10 {
                10 = FILES
                10{
                    references {
                        field = media
                    }

                    begin = 0
                    maxItems = 1

                    renderObj = COA
                    renderObj {
                        10 = IMAGE
                        10 {
                            file.import.data = file:current:publicUrl
                            file.crop.data = file:current:crop
                            file.cropVariant = subpages
                            altText.data = file:current:alternative
                            titleText.data = file:current:title
                            }
                    }
                    stdWrap.ifEmpty.cObject = COA
                    stdWrap.ifEmpty.cObject.10 = FILES
                    stdWrap.ifEmpty.cObject.10 {
                        references {
                            data = levelmedia:-1,slide
                        }
                        begin = 0
                        maxItems = 1

                        renderObj = COA
                        renderObj {
                            10 = IMAGE
                            10 {
                                file.import.data = file:current:publicUrl
                                file.crop.data = file:current:crop
                                file.cropVariant = subpages
                                altText.data = file:current:alternative
                                titleText.data = file:current:title
                            }
                        }
                    }
                    stdWrap.wrap.typolink.parameter.field = uid
                    stdWrap.wrap = <figure>|</figure>
                }
            }
            20 = COA
            20 {
                10 = TEXT
                10.wrap =<div class="category">|</div>
                10.data = levelfield:1, title

                20 = TEXT
                20.wrap = <h3 class="teaser-title">|</h3>
                20.stdWrap.wrap.typolink.parameter.field = uid

                30 = TEXT
                30.wrap = <p>|</p>
                30.field = abstract
                30.crop=150 | ... |1
            }
            20.wrap = <div class="teaser-content">|</div>
        }
    }
}

The first FILES gets an image from media-field of the page, and if there is no image, in the ifEmpty-Tree I search for an image in the rootline. That solution gives me the images in the page tree as I expected. But only die FILES in ifEmpty, which is referencing to levelmedia also delivers the metadata of the specific file. The FILES which referencing to "media" gives me only the file without any meta data.

Does anyone have a hint for me for what I'm doing wrong?


Solution

  • Solved: Instead of field = media in the references clause of the FILES-Object it has to be fieldName = media

    With this modification the crop variant works and I get the title- and alt-texts as well.