首页 > 解决方案 > 在 f:cObject 的 where 子句中使用两列的更简单方法?

问题描述

我正在尝试将内容元素加载为 af:cObject ,如下所示:

<f:cObject typoscriptObjectPath="lib.supplier" data="{supplier:supplier.uid, supplier_content:'supplier_booking_page'}" />

如您所见,数据属性有两个变量:suppliersupplier_content

然后我使用这个打字稿来声明lib.supplier

lib.supplier = CONTENT
lib.supplier {
    table = tt_content
    select {
        pidInList = 272
        orderBy = sorting
        where {
            field = supplier
            wrap = supplier = |
        }
    }
}

哪个工作正常,但我需要 where 子句中的两个变量。

这个:

lib.supplier = CONTENT
lib.supplier {
    table = tt_content
    select {
        pidInList = 272
        orderBy = sorting
        where {
            field = supplier_content
            wrap = supplier_content = '|'
        }
    }
}

也可以正常工作。

但是如何结合两个 where 子句呢?

我找到了一个可行的解决方案,但这对于一个 - 在我看来 - 非常简单的 where 子句来说似乎太复杂了:

lib.supplier = COA
lib.supplier {
    10 = LOAD_REGISTER
    10 {
        supplier.cObject = TEXT
        supplier.cObject {
            field = supplier
            ifEmpty.data = ''
        }
        
        supplier_content.cObject = TEXT
        supplier_content.cObject {
            field = supplier_content
            ifEmpty.data = ''
        }
    }
    
    20 = CONTENT
    20 {
        table = tt_content
        select {
            pidInList = 272
            orderBy = sorting
            where = {#supplier} = {register:supplier} AND {#supplier_content} = '{register:supplier_content}'
            where.insertData = 1
        }
    }
    
    30 = RESTORE_REGISTER
}

标签: typoscriptfluidtypo3-9.x

解决方案


推荐阅读