新闻 :: 元标记的真实 URL 路径 og:url 用于详细信息页面

news :: RealURL Path for MetaTag og:url for detailpage

我想为新闻项目的详细信息页面呈现元标记 og:url。我有以下 TS:

page.headerData.2999 {
    wrap = <meta property="og:url" content="{$extglobal.domain}|" />
    10 = TEXT
    10 {
        typolink {
            parameter.data = TSFE:id
            returnLast = url
        }
    }
    20 = TEXT
    20 {
        data = GP:tx_news_pi1|news
        stdWrap.wrap = &tx_news_pi1[news]=|
        required = 1
    }
}

但是 og:url 元标记中的 url 呈现为:

https://example.com/news/detailpage/&tx_news_pi1[news]=1671

有什么想法可以实现 og:url 的完整 realUrl 路径吗?

您必须将额外的 URL 参数添加到 typolink 部分,或者使用 additionalParams (https://docs.typo3.org/typo3cms/TyposcriptReference/latest/Functions/Typolink.html#additionalparams) or addQueryString (https://docs.typo3.org/typo3cms/TyposcriptReference/latest/Functions/Typolink.html#addquerystring)。使用 additionalParams 您可以设置自己的参数来添加。使用 addQueryString 可以将当前 URL 的参数添加到 URL.

但是 news 扩展默认支持 Open Graph 元标记。有关如何配置它的更多信息,请参见此处:https://docs.typo3.org/typo3cms/extensions/news/stable/singlehtml/Index.html#opengraph

谢谢,我找到了让我的 TS 正常工作的解决方案:

    page.headerData.1038 >
page.headerData.2999 = COA
page.headerData.2999 {
    wrap = <meta property="og:url" content="{$extglobal.domain}|" />
    10 = TEXT
    10 {
        typolink {
            parameter.data = TSFE:id
            additionalParams {
                data = GP:tx_news_pi1|news
                rawUrlEncode = 1
                wrap = &tx_news_pi1[news]=|
            }
            useCacheHash = 1
            returnLast = url
        }
    }
}