我的Typoscript中存在问题,无法找到解决办法。 这是我的typoscript的摘录:
temp.my_class = TEXT
temp.my_class.value = my_custom_class
temp.my_class.wrap = class="|"
10 < styles.content.get
10.select.where = ( deleted = 0 && hidden = 0 && CType = 'image' )
10.select.andWhere = ( tx_gridelements_container = ###whatever### )
10.select.orderBy = sorting ASC
10.select.max = 1
10.select.markers.whatever.field = uid
10.renderObj = FILES
10.renderObj.references.table = tt_content
10.renderObj.references.fieldName = image
10.renderObj.renderObj = IMAGE
10.renderObj.renderObj.file.import.data = file:current:publicUrl
10.renderObj.renderObj.file.width = 200
10.renderObj.renderObj.params.cObject < temp.my_class
我使用多种方式但没有成功(使用“lib”代替“temp”,使用“=&lt;”,使用“insertData”方法...)。顺便说一下 - &gt;我不能使用常量。 你知道怎么做吗? 谢谢你的帮助=)
答案 0 :(得分:1)
第一:
您需要使用复制运算符<
来使用一些temp.
- 对象
引用(=<
在{$ 1}}对象无法在渲染时工作,仅用于扫描拼写错误。
并且temp.
只分配文本而没有对象。
第二:
请记住=
仅复制防御。如果将对象定义复制到简单文本属性,则将对象的名称作为值
为避免这种情况,请使用<
或.stdWrap
。
第三:
使用包装定义值的包装。
在你的情况下,它会是这样的:
.cObject
这将导致:
temp.my_class = TEXT
temp.my_class.field = my_custom_class
temp.my_class.wrap = class="|"
.... here other lines .....
10.renderObj.renderObj = IMAGE
10.renderObj.renderObj.file.import.data = file:current:publicUrl
10.renderObj.renderObj.file.width = 200
10.renderObj.renderObj.params.cObject < temp.my_class
但我认为你真的想要这个(没有10.renderObj.renderObj = IMAGE
10.renderObj.renderObj.file.import.data = file:current:publicUrl
10.renderObj.renderObj.file.width = 200
10.renderObj.renderObj.params.cObject = TEXT
10.renderObj.renderObj.params.cObject.field = my_custom_class
10.renderObj.renderObj.params.cObject.wrap = class="|"
):
cObject
因此,使用临时对象(模拟常量)提取fieldname可能是:
10.renderObj.renderObj = IMAGE
10.renderObj.renderObj.file.import.data = file:current:publicUrl
10.renderObj.renderObj.file.width = 200
10.renderObj.renderObj.params.field = my_custom_class
10.renderObj.renderObj.params.wrap = class="|"
或
temp.my_class_field = my_custom_class
:
10.renderObj.renderObj.params.field < temp.my_class_field
10.renderObj.renderObj.params.wrap = class="|"
答案 1 :(得分:0)
请尝试以下操作:
10.renderObj.renderObj.params.cObject < tmp.my_class
10.renderObj.renderObj.params.cObject.wrap = class="|"