nemo64/canonical-url

使typo3能够知道它在哪个url上使用

安装数: 5,606

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 3

分支: 0

开放问题: 3

类型:typo3-cms-extension

v1.0.4 2019-06-18 07:56 UTC

This package is auto-updated.

Last update: 2024-09-18 20:04:33 UTC


README

Latest Stable Version Total Downloads Monthly Downloads License

EXT:canonical_url

此扩展为您的页面添加了一些规范url功能。

此扩展基于我的博客文章(德语),您可以在此处了解更多关于typo3中规范url的主题以及为什么它们不像应该的那样简单。

还有许多扩展已经提供了规范支持,但实现质量各不相同,但在这个扩展中,规范url只是许多功能之一。

此扩展仅关注如何处理当前页面的url,如果您想要完全控制,可以安装此扩展并仅使用typoscript扩展,无需对页面进行任何修改。

如果您需要规范参数,我鼓励您将此扩展用作扩展的依赖项。此扩展除了提供getText函数(以后可能还有更多方式,如视图助手)之外,不会做任何事情。集成者必须始终包含此扩展的静态typoscript才能产生任何效果。因此,它是一个安全的依赖项。

主要功能

静态TypoScript模板用于 <link rel="canonical">

此扩展为您添加了一个TypoScript。只需将名为 <link rel="canonical"> (canonical_url) 的静态包含添加到您的typoscript模板中即可。

TypoScript扩展 data = canonical_parameters

您可以使用新的 getText 函数 canonical_parameters 获取当前页面的查询字符串。这与addQueryString不同,因为它仅包括对缓存相关的参数,并因此使用 cHash机制 进行验证。

以下是一个创建当前页面链接的示例

lib.currentPageLink = TEXT
lib.currentPageLink {
    value = Current page
    
    typolink {
        parameter.data = page:uid
        additionalParams.data = canonical_parameters
        useCacheHash = 1
    }
}

以下是一个创建包含最后一个条目为当前页面的面包屑的示例

lib.breadcrumb = HMENU
lib.breadcrumb {
    wrap = <nav aria-label="breadcrumb"><ol class="breadcrumb">|</ol></nav>
    special = rootline
    special.range = 1|-1
    includeNotInMenu = 1
    
    1 = TMENU
    1 {
        NO = 1
        NO.wrapItemAndSub = <li class="breadcrumb-item">|</li>
        
        CUR < .NO
        CUR.additionalParams.data = canonical_parameters
        CUR.wrapItemAndSub = <li class="breadcrumb-item active" aria-current="page">|</li>
        CUR.stdWrap.data = TSFE:altPageTitle // page:nav_title // page:title
        CUR.doNotLinkIt = 1
    }
}

以下是一个实现hreflang的示例

page.headerData {
    99 = TEXT
    99.wrap = <link rel="alternate" hreflang="x-default" href="|">
    99.typolink {
        parameter.data = page:uid
        additionalParams.data = canonical_parameters
        additionalParams.wrap = |&L=0
    }
    
    100 < .99
    100.wrap = <link rel="alternate" hreflang="en" href="|">
    100.typolink.additionalParams.wrap = |&L=0
    
    101 < .99
    101.wrap = <link rel="alternate" hreflang="de" href="|">
    101.typolink.additionalParams.wrap = |&L=1
}