arrays - TypoScript:如果为空则覆盖 COA

标签 arrays object typo3 overriding typoscript

我有 2 个 COA:lib.productContentlib.categoryContent,其中包含来自用户函数的数据。 我还有第三个 COA - lib.seoColumns - 默认情况下应包含产品 COA。如果产品 COA 为空,它应该被类别 COA 覆盖,但我不知道如何实际检查产品 COA 是否为空:

########## PRODUCT CONTENT ##########
lib.productContent = COA
lib.productContent {
    10 = USER
    10 {
        userFunc = Vendor\Provider\UserFunc\Page->getPageContentByAlias
        alias = TEXT
        alias.data = GP:product
        aliasField.cObject = TEXT
        aliasField.cObject.value = product_alias
    }
}

########## CATEGORY CONTENT ##########
lib.categoryContent = COA
lib.categoryContent {
    10 = USER
    10 {
        userFunc = Vendor\Provider\UserFunc\Page->getPageContentByAlias
        alias = TEXT
        alias.data = GP:category
        aliasField.cObject = TEXT
        aliasField.cObject.value = category_alias
    }
}

########## SEO COLUMNS ##########
lib.seoColumns = COA
lib.seoColumns {
    10 < lib.productContent
    10.stdWrap.override.cObject < lib.categoryContent

    # 10.stdWrap.override.if    <-- IF WHAT ?

    wrap = <seoColumns><![CDATA[|]]></seoColumns>
}

最佳答案

最简单的方法是使用 stdWrap .ifEmpty 函数 https://docs.typo3.org/typo3cms/TyposcriptReference/Functions/Stdwrap/Index.html#ifempty

lib.seoColumns = COA
lib.seoColumns {
   10. < lib.productContent
   10.stdWrap.ifEmpty.cObject < lib.categoryContent
   wrap = <seoColumns><![CDATA[|]]></seoColumns>
}

因为 ifEmpty 是 string/stdWrap 类型,它支持 stdWrap 属性,我们可以使用 .cObject 加载另一个内容对象。就像第二种情况的 COA。

关于arrays - TypoScript:如果为空则覆盖 COA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43521730/

相关文章:

java - 如何使用数组/数组列表将值更改为星号

Java 性能 - ArrayLists 与 Arrays 相比,可实现大量快速读取

Java HTML 对象

symfony - 如何在 TypoScript 条件下使用新的 Symfony 表达式语法检查协议(protocol)

typo3 - 在(例如)tt_content.php TCA 中使用 call_user_func() 会更好吗?为什么? (TYPO3)

android - ArrrayAdapter 要求 resourceID 为 TextView

c++ - 回顾我的 C++ 多维数组指针

javascript - toBeCloseTo 等效于 Jest 中的递归相等性测试

ios - 可识别 CALayer 对象的 iOS 应用程序 UI 自动化工具

routes - TYPO3 路由 : how does Custom Aspect works?