在typoscript中回复FILES

时间:2014-10-14 19:48:00

标签: typo3 typoscript

我正在使用typoscript go获取页面中的第一个文件。这有效,不在文档中。但是如果没有找到文件,文档就没有说明回退的事情。

lib.files = FILES
lib.files {
  references {
    table = pages
    fieldName = media
  }
  file =
  begin = 0
  maxItems = 1
  renderObj = TEXT
  renderObj {
    value = URL: {file:current:publicUrl}
    insertData = 1
  }
}

天真的.if.isNull在第一个时候失败了。如果FILES-Object为空,是否有可能定义回退?

2 个答案:

答案 0 :(得分:0)

MH,

尝试创建第二个对象,并检查lib.files是否填充了数据。

__

UNTESTED

lib.files = FILES
lib.files {
  references {
    table = pages
    fieldName = media
  }
  file =
  begin = 0
  maxItems = 1
  renderObj = TEXT
  renderObj {
    value = URL: {file:current:publicUrl}
    insertData = 1
  }
}


lib.fileFallback = COA
lib.fileFallback {

    10 < lib.files

    20 = TEXT
    20 {
        value = Do something
        stdWrap.if.isFalse.cObject < lib.fileFallback.10
    }

}

我经常使用这种技术来浏览幻灯片对象的页面。

如果有效,请告诉我。

答案 1 :(得分:0)

您应该查看TypoScript Reference stdWrap.ifEmpty 在您的情况下,代码应该如下所示

lib.files {
  # ....
  stdWrap.ifEmpty.cObject = IMAGE
  stdWrap.ifEmpty.cObject{
    file = fileadmin/.../my_image.png
  }
  # ....
}

您可以使用所需的每个cObject。 查看Content Objects (cObject)