Typo3 类型3:如果当前页面上没有内容,则显示固定页面中的内容

Typo3 类型3:如果当前页面上没有内容,则显示固定页面中的内容,typo3,fallback,Typo3,Fallback,如果当前页面上没有内容,我想显示来自固定页面的内容 例如:在主页上,右边colPos=31栏的pid=58,我有一个带有最新项目的新闻插件。在子页面上,可以在colPos=31的右列中插入内容。它可以是图像、文本等。但是,如果右边的列是空的,我想在主页上显示新闻插件作为备用选项 这是我的打字稿,但不起作用。如果当前页面中没有内容,则不会显示主页的默认内容 lib.rightCol-1 = COA lib.rightCol-1 { 10 = COA 10 { ##

如果当前页面上没有内容,我想显示来自固定页面的内容

例如:在主页上,右边colPos=31栏的pid=58,我有一个带有最新项目的新闻插件。在子页面上,可以在colPos=31的右列中插入内容。它可以是图像、文本等。但是,如果右边的列是空的,我想在主页上显示新闻插件作为备用选项

这是我的打字稿,但不起作用。如果当前页面中没有内容,则不会显示主页的默认内容

lib.rightCol-1 = COA
lib.rightCol-1 {
    10 = COA
    10 {
        ## Get content from current page. 
        10 = COA
        10 < styles.content.get 
        ## Get content from colPos 31
        10.select.where = colPos=31 
        if.isTrue.current = 1 

        20 = CONTENT
        20 {
            ## IF no content on current page show content from mainpage
            stdWrap.if.isTrue.current = 1
            stdWrap.if.negate = 1
            table = tt_content
            select {
                ## Get content from mainpage
                pidInList = 58
                where = colPos=31
                orderBy = sorting
                languageField = sys_language_uid
            }
        }
    }
}
这可以使用stdWrap.override完成。如果stdWrap.override返回非空值,则此值将替换stdWrap将返回的正常值。在您的情况下,这可能如下所示:

# Fetch the default content from the mainpage with id 58
lib.rightCol-1 = CONTENT
lib.rightCol-1 {
    table = tt_content
    select {
        pidInList = 58
        where = colPos=31
        orderBy = sorting
        languageField = sys_language_uid
    }

    # override the content from page 58 with content from the current page,
    # but only if there is content on this page
    stdWrap.override.cObject = CONTENT
    stdWrap.override.cObject {
        table = tt_content
        select {
            pidInList = this
            where = colPos=31
            orderBy = sorting
            languageField = sys_language_uid
        }
    }
}
您还可以创建以下行为:

如果当前页面上有内容,请显示它。 否则,沿着根线走,从列中包含内容的第一页获取内容。 如果没有这样的页面,请从主页获取内容。
这可以通过简单地将slide=-1设置为第二个内容对象来完成。

谢谢您的回答,但我无法让它工作。相反,这起了作用:

lib.rightCol-1 = CONTENT
lib.rightCol-1 < styles.content.get
lib.rightCol-1.select.where = colPos=31
lib.rightCol-1 {
    stdWrap.ifEmpty.cObject = CONTENT
    stdWrap.ifEmpty.cObject {
    table = tt_content
    select {
        pidInList = 58
        orderBy = sorting
        where = colPos = 31
        languageField = sys_language_uid
        }
    }
}

是的,我想这是因为我忘记了两个内容对象中的table=tt\u内容。编辑了答案。