Как использовать данные Fluid cObject в Typoscript - PullRequest
0 голосов
/ 01 июля 2019

У меня есть следующий гибкий сценарий для вставки библиотеки Typoscript:

<f:cObject typoscriptObjectPath="lib.artteaser" data="{imgclass: 'img-cover'}"/>

Я хочу использовать параметр «data» в Typoscript в FILES.renderObj для переноса в качестве класса css - следующеечто я пробовал до сих пор, но это не сработало.

lib.artteaser = COA
lib.artteaser {

    wrap = <section><div class="container"><div class="row cover-teaserbox">|</div></div></section>

    10 = CONTENT
    10 {
        table = tt_content
        select {
            [...]
        }

        renderObj = COA
        renderObj {

            wrap = <div class="col-xs-12 col-sm-6 col-md-4 col-lg-3 col-xl-3 cover-teaserbox-item">|</div>

            10 = FILES
            10 {

                references {
                    [...]
                }

                renderObj = IMAGE
                renderObj {
                    file.import.data = file:current:uid
                    file.crop.data = file:current:crop
                    file.treatIdAsReference = 1
                    altText.data = file:current:title

                    # the following did not work
                    stdWrap.dataWrap = <div class="cover-teaserbox-item-img {field:imgclass}">|</div>

                    stdWrap.typolink {
                        parameter.field =  pid
                    }
                }

                maxItems = 1

            }

            [...]

        }

    }

}

Может кто-нибудь дать мне подсказку, чтобы заставить это работать?Заранее спасибо!

1 Ответ

1 голос
/ 01 июля 2019

Каждый раз, когда вы используете current или field:* или data = *, вам необходимо учитывать контекст.

При вводе объекта TS у вас есть все ваши «параметры» в качестве текущего контекста.но как только вы создаете меню или работаете с записями (CONTENT), единственная запись (запись страницы в случае меню) становится текущим контекстом.

В вашем случае вы можете сохранить свой параметр в регистреи использовать его позже.

lib.artteaser = COA
lib.artteaser {

    5 = LOAD_REGISTER
    5 {
        imageClass.field = imgclass
    }

    10 = CONTENT
    10 {
           :
           :
               stdWrap.dataWrap = <div class="cover-teaserbox-item-img {register:imageClass}">|</div>
           :
           :
    }
}
...