首页 > 解决方案 > TYPO3:检查当前页面是否被排版翻译

问题描述

对于通过typoscript生成规范标签,我需要检查当前页面是否被翻译。如果没有,规范需要指向默认语言的 url。

如何检查当前页面是否被排版翻译?

我的打字稿配置中的语言处理:

sys_language_overlay = 1
sys_language_mode = content_fallback

标签: typo3typoscript

解决方案


如果有人感兴趣,我已经为我的任务制定了一个解决方案:如果当前页面没有翻译(content_fallback),则以默认语言呈现规范 url

page.headerData.10 = COA
page.headerData.10 {
    10 = LOAD_REGISTER
    10.isPageTranslated.cObject = CONTENT
    10.isPageTranslated.cObject {
        table = pages
        select {
            selectFields = plo.sys_language_uid
            pidInList = {$config.rootPid}
            join = pages_language_overlay plo ON plo.pid = pages.uid            
            where = plo.pid = ###pid### AND plo.sys_language_uid = ###lang### AND plo.deleted = 0 AND plo.hidden = 0
            markers {
                pid.data = page:uid
                lang.data = page:sys_language_uid
            }
        }
        renderObj = TEXT
        # translation available
        renderObj {
            wrap = <link rel="canonical" href="|">
            typolink {
                parameter.data = TSFE:id
                returnLast = url
            }
            append = TEXT
            append.value (

)
        }
    }   
    20 = TEXT
    20 {
        data = register:isPageTranslated
        ifEmpty {
            # no translation available
            wrap = <link rel="canonical" href="|">
            typolink {
                parameter.data = TSFE:id
                additionalParams = &L=0
                returnLast = url
            }
            append = TEXT
            append.value (

)
        }
    }
}

推荐阅读