【问题标题】:TYPO3: lang attribute changed in html tag (HTML5boilerplate style)TYPO3:在 html 标记中更改了 lang 属性(HTML5样板样式)
【发布时间】:2013-03-11 02:03:54
【问题描述】:

我使用这个配置来跟随 HTML5 样板。

config{
    doctype = html_5

    doctype(
        <!doctype html>
        <!--[if lt IE 7 ]> <html lang="de" class="no-js ie6"> <![endif]-->
        <!--[if IE 7 ]>    <html lang="de" class="no-js ie7"> <![endif]-->
        <!--[if IE 8 ]>    <html lang="de" class="no-js ie8"> <![endif]-->
        <!--[if IE 9 ]>    <html lang="de" class="no-js ie9"> <![endif]-->
        <!--[if (gt IE 9)|!(IE)]><!-->
    )
    htmlTag_setParams = lang="de" class="no-js no-ie"><!--<![endif]--
}

问题是,当我的网站包含多种替代语言时,langattribute 不会更新。

有人知道如何解决这个问题吗?

【问题讨论】:

  • 仅作记录:paul irish html标签也可以在“pageRendererTemplateFile”中设置,从typo3/sysext/cms/tslib/templates/tslib_page_frontend.html复制并通过config设置。页面渲染器模板文件。我一开始以为它会解决你的问题,但我不确定如何访问这个模板中的标记(有很多,但可能你不能添加自己的)

标签: typo3 typoscript html5boilerplate


【解决方案1】:

使用常见的 TS 条件设置正确的config.htmlTag_setParams,您可能正在使用它来切换语言...

[globalVar = GP:L = 1]
  config.sys_language_uid = 1
  config.language = en
  config.htmlTag_setParams = lang="en" class="no-js no-ie"><!--<![endif]--
[GLOBAL]

【讨论】:

  • 是的,我想到了,但似乎有很多重复的代码,因为语言的数量可能会增长很多。没有像 {page:language} 和 insertData 这样的解决方案吗?我知道那些不起作用,可悲的是......
【解决方案2】:

试试:

config {

  htmlTag_stdWrap {
    setContentToCurrent = 1
    cObject = COA
    cObject {
        appendMeTemp = TEXT
        appendMeTemp.append = TEXT
        appendMeTemp.append.char = 10
        appendMeTemp.current = 1

        // IE7
        20 < .appendMeTemp
        20.addParams.class = ie ie7
        20.wrap = <!--[if IE 7 ]>|<![endif]-->

        // IE8
        30 < .appendMeTemp
        30.addParams.class = ie ie8
        30.wrap = <!--[if IE 8 ]>|<![endif]-->

        // IE9
        40 < .appendMeTemp
        40.addParams.class = ie ie9
        40.wrap = <!--[if IE 9 ]>|<![endif]-->

        60 < .appendMeTemp
        60.wrap = <!--[if (gte IE 9)|!(IE)]> # <![endif]-->
        60.wrap.splitChar = #
      }
   }         
}

那么标准:

config {
    htmlTag_langKey = de
}

【讨论】:

    【解决方案3】:

    也许很久以前,但我会为 googlers 回答。 除了@biesior 对条件的建议外,您还可以为语言使用常量以避免不必要的重复代码。

    设置:

    config {
        doctype (
        <!--[if lt IE 7 ]> <html lang="{config.language}" class="no-js ie6"> <![endif]-->
        ...
        )
    }
    

    常量:

    [globalVar = GP:L = 1]
        config {
            language = en
        }
    [global]
    [globalVar = GP:L = 2]
        config {
            language = de
        }
    [global]
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 2011-05-18
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2020-06-21
      • 1970-01-01
      相关资源
      最近更新 更多