如何在Typoscript中使用Fluid cObject数据

时间:2019-07-01 09:32:17

标签: typo3 typoscript view-helpers

我有以下流畅的脚本可以插入错字库:

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

我想在FILES.renderObj内的打字稿中使用“ data”参数作为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 个答案:

答案 0 :(得分:1)

每次使用currentfield:*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>
           :
           :
    }
}