我想通过使用两个后备输出将字符串输出到呈现的HTML。

我的打字稿定义在顶层页面(我网站的根目录)上,并传递到下层的所有页面。

结构体:

  • 主页

    一级的
  • 页面
  • 2级页面

  • 文件的常规输出:

    该字符串来自TemplaVoila字段(页面/编辑/扩展/ MyField): field_copyright_name

    要将其输出到HTML输出中的所需点,存在一个templaVoila映射(类型:Typoscript对象路径),名为: lib.copyright_name

    以下打字稿可以完成这项工作:
    lib.hint_copyright_name = COA
    lib.hint_copyright_name.10 = TEXT
    lib.hint_copyright_name.10 {
        setCurrent.dataWrap = {field:field_copyright_name}
        current = 1
    }
    

    该字段适用于字段(在页面属性中)不为空的所有级别的所有页面。

    第一次后备:

    如果该字段为空(在该页面的属性中,例如在2级),则打字稿应从上一页获取该值(在1级,如果也为空,则应从首页获取该值)。不知道该怎么做。你能帮我吗?

    第二回退

    如果第一次回退仍然返回一个空字符串(因为该字段在所有级别均为空),则应回退到默认值“Copyright by me”。

    要启用此后备而没有“第一个后备”,很容易:
    switchdefault_copyright_name = TEXT
    switchdefault_copyright_name {
        setCurrent.dataWrap = {field:field_copyright_name}
        current = 1
        override = "Copyright by me"
        override.if.isFalse.field = field_copyright_name
    }
    
    
    lib.hint_copyright_name = COA
    lib.hint_copyright_name.10 < switchdefault_copyright_name
    

    但是如何整合“第一个后备”?

    编辑:

    我试过了:
    setCurrent.data = {levelfield:-1, field_copyright_name, slide}
    

    要么
    setCurrent.data = levelfield:-1, field_copyright_name, slide
    

    要么
    setCurrent.dataWrap = {levelfield:-1, field_copyright_name, slide}
    

    要么
    setCurrent.dataWrap = levelfield:-1, field_copyright_name, slide
    

    但没有成功-没有输出。

    最佳答案

    刚刚发现:http://lists.typo3.org/pipermail/typo3-english/2006-October/032764.html

    它应该使您的幻灯片工作正常。
    只需设置:安装>所有配置> addRootLineFields

    没尝试过,但是看起来像解决方案

    关于typo3 - TYPO3/TypoScript:如何进行后备?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6109044/

    10-11 15:52