TYPO3:Typoscript = 渲染温度变量
TYPO3:Typoscript = render temp var
我的 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",使用“=<”,使用 "insertData" 方法...)。顺便说一下 -> 我不能使用常量。
你知道怎么做吗?
感谢您的帮助 =)
尝试以下操作:
10.renderObj.renderObj.params.cObject < tmp.my_class
10.renderObj.renderObj.params.cObject.wrap = class="|"
第一个:
您需要使用复制运算符 <
来使用一些 temp.
-objects.
引用(=<
将不起作用,因为 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
):
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="|"
或
temp.my_class {
field = my_custom_class
wrap = class="|"
}
:
10.renderObj.renderObj.params < temp.my_class
我的 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",使用“=<”,使用 "insertData" 方法...)。顺便说一下 -> 我不能使用常量。 你知道怎么做吗? 感谢您的帮助 =)
尝试以下操作:
10.renderObj.renderObj.params.cObject < tmp.my_class
10.renderObj.renderObj.params.cObject.wrap = class="|"
第一个:
您需要使用复制运算符 <
来使用一些 temp.
-objects.
引用(=<
将不起作用,因为 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
):
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="|"
或
temp.my_class {
field = my_custom_class
wrap = class="|"
}
:
10.renderObj.renderObj.params < temp.my_class