Typo3 使用回退覆盖文件引用.data
我通过data=level media:-1,slide获取滑块的图像 在新闻单页上,我想使用新闻图片而不是图片。因此,我将这方面的代码放入条件Typo3 使用回退覆盖文件引用.data,typo3,typoscript,Typo3,Typoscript,我通过data=level media:-1,slide获取滑块的图像 在新闻单页上,我想使用新闻图片而不是图片。因此,我将这方面的代码放入条件[globalVar=GP:tx_news|pi1 | news>0],并获取新闻的图像。好的。但是如果没有新闻图片,我想展示媒体的水平。我该怎么做 以下是打字稿: lib.keyVisual = COA lib.keyVisual { 10 = FILES 10 { references { da
[globalVar=GP:tx_news|pi1 | news>0]
,并获取新闻的图像。好的。但是如果没有新闻图片,我想展示媒体的水平。我该怎么做
以下是打字稿:
lib.keyVisual = COA
lib.keyVisual {
10 = FILES
10 {
references {
data = levelmedia:-1,slide
}
renderObj = COA
renderObj.10 = IMAGE
renderObj.10 {
file {
import.data = file:current:uid
treatIdAsReference = 1
width = {$keyVisualWidth}
#width.field >
height = {$keyVisualHeight}
}
}
renderObj.20 = COA
renderObj.20 {
1 = TEXT
1 {
data = file:current:title
required = 1
wrap = <h3>|</h3>
}
2 = TEXT
2 {
data = file:current:description
required = 1
wrap = <p>|</p>
}
stdWrap.wrap = <div class="imageCaptionBox">|</div>
stdWrap.required = 1
}
renderObj.wrap = <li>|</li>
}
wrap = <section id="keyvisual" class="keyvisual fullWidth"><ul class="slider nav">|</ul></section>
}
[globalVar = GP:tx_news_pi1|news > 0]
lib.keyVisual {
10 {
references {
data >
table = tx_news_domain_model_news
uid.data = GP:tx_news_pi1|news
fieldName = fal_media
}
# only images with showinpreview
renderObj.if {
value = 1
equals.data = file:current:showinpreview
}
}
}
[global]
lib.keyVisual=COA
lib.keyVisual{
10=文件
10 {
参考资料{
data=levelmedia:-1,幻灯片
}
renderObj=COA
renderObj.10=图像
图J.10{
文件{
import.data=文件:当前:uid
治疗参考=1
宽度={$keyVisualWidth}
#width.field>
高度={$keyVisualHeight}
}
}
renderObj.20=COA
图J.20{
1=文本
1 {
数据=文件:当前:标题
必需=1
包裹=|
}
2=文本
2 {
数据=文件:当前:说明
必需=1
包裹=|
}
stdWrap.wrap=|
stdWrap.required=1
}
renderObj.wrap=|
}
包裹=
}
[globalVar=GP:tx_news_pi1 | news>0]
lib.keyVisual{
10 {
参考资料{
数据>
表=tx\U新闻\U领域\U模型\U新闻
uid.data=GP:tx_news_pi1|news
fieldName=fal_媒体
}
#仅具有showinpreview的图像
如果{
值=1
equals.data=文件:当前:showinpreview
}
}
}
[全球]
所有条件都有一个[else]
,因此不需要重新定义
[globalVar = GP:tx_news_pi1|news > 0]
lib.keyVisual {
... from news...
}
[else]
lib.keyVisual {
... from levelmedia ...
}
[global]
然后你需要区分一张图片是否是新闻的标签
[globalVar = GP:tx_news_pi1|news > 0]
lib.keyVisual = COA
lib.keyVisual {
10 = CONTENT
10 {
// get news record and then get file
... from news...
if.empty.field = media
}
20 = FILES
20 {
... from levelmedia ...
if {
empty.field = media
negate = 1
}
}
}
[else]
lib.keyVisual {
... from levelmedia ...
}
[global]
这可以通过使用一个临时对象来优化levelmedia的使用,该对象将被复制
temp.levelmediaImage {
...
}
[globalVar = GP:tx_news_pi1|news > 0]
kib.keyVisual = COA
lib.keyVisual {
10 = CONTENT
10 {
// get news record and then get file
... from news...
if.empty.field = media
}
20 < temp.levelmediaImage
20 {
if {
empty.field = media
negate = 1
}
}
}
[else]
lib.keyVisual < temp.levelmediaImage
[global]
temp.levelmediaImage{
...
}
[globalVar=GP:tx_news_pi1 | news>0]
kib.keyVisual=COA
lib.keyVisual{
10=内容
10 {
//获取新闻记录,然后获取文件
…从新闻。。。
if.empty.field=介质
}
20
使用ifEmpty stdWrap选项
如果COA为空,则可以使用此选项渲染默认图像
简单的例子来解释:
[globalVar = GP:tx_news_pi1|news > 0]
lib.keyVisual {
stdWrap.ifEmpty.cObject < .10
#overrides for news picture
10 {
...
}
}
[global]
[globalVar=GP:tx_news_pi1|news>0]
lib.keyVisual{
stdWrap.ifEmpty.cObject<.10
#新闻图片的覆盖
10 {
...
}
}
[全球]
10.stdWrap.ifEmpty.cObject<.10会帮我的!