TYPO3: проверьте, переведена ли текущая страница с помощью опечатки - PullRequest
1 голос
/ 17 июня 2020

Для генерации канонического тега с помощью опечатки мне нужно проверить, переведена ли текущая страница. Если нет, то канонический должен указывать на URL-адрес на языке по умолчанию.

Как я могу проверить, переведена ли текущая страница с помощью typoscript?

Обработка языка в моей конфигурации typoscript:

sys_language_overlay = 1
sys_language_mode = content_fallback

1 Ответ

0 голосов
/ 24 июня 2020

Если кому-то интересно, я разработал решение своей задачи: отобразить канонический URL-адрес на языке по умолчанию, если для текущей страницы нет перевода (content_fallback)

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 (

)
        }
    }
}
...