【问题标题】:TYPO3 tt_news detail with language switchTYPO3 tt_news 详细信息与语言切换
【发布时间】:2013-06-12 15:06:43
【问题描述】:

我在 TYPO3 中遇到了 tt_news 的问题。

如果我在详细信息页面上,会有一个带有一些 get 变量的 url。如果我在网站上切换页面语言,我会丢失正确的 url。

谁能帮我配置 tt_news。我想站在同一个详情页面,但内容是其他语言的不同之处?

【问题讨论】:

  • 您能否提供一些您如何管理多语言功能的打字稿?

标签: typo3 typoscript tt-news


【解决方案1】:

如果你发布你的 TypoScript 来创建你的语言切换,它会更容易提供帮助。

但主要原则是:

  # change the links you have defined, to add the QueryString Parameters
  # so it will work with other extensions too
  ...typolink.addQueryString = 1
  ...typolink.addQueryString.methode = G

如果你想明确定义应该使用哪些参数:

  # of define on your own which parameters should be added:
  ...typolink.additionalParams.append = COA
  ...typolink.additionalParams.append {
     10 = TEXT
     10.data = GP:tt_news[uid]
     10.required = 1
     # sanitize your url
     10.rawUrlEncode = 1
     10.wrap = &tt_news[uid]=|

     # and so on
     20 = TEXT

  }

如果你不想重复参数:

  # check for duplicate parameters
  config.uniqueLinkVars = 1

【讨论】:

    【解决方案2】:

    几年前我遇到了完全相同的问题并想出了以下sn-p:

    lib.logo = TEXT
    lib.logo {
        typolink {
            parameter.data = TSFE:id
            returnLast = url
    
            addQueryString = 1
            addQueryString {
                method = GET
                exclude = cHash, no_cache, id, FE_SESSION_KEY, L
            }
    
            additionalParams = &L=1
        }
    }
    

    此代码生成的链接包含所有 GET 变量(感谢 addQueryString),以下情况除外:

    • cHash(用于缓存)
    • no_cache(强制禁用缓存)
    • id(我们要设置的当前页面的id)
    • FE_SESSION_KEY(用于跨域链接以保持会话)
    • L(语言记录的 ID)

    【讨论】:

      【解决方案3】:

      语言切换和tx_news的例子,基于maholz的回答:

      lib.langNavi = HMENU
      lib.langNavi {
        special = language
        special.value = 0,1
        1 = TMENU
        1 {
      
              NO = 1
              NO.allWrap = |*| |  |   |*| |
              NO.linkWrap = |
              NO.stdWrap.setCurrent = Deutsch || English
              NO.stdWrap.current = 1
              NO.additionalParams {
                  append = COA
                  append {
                      10 = TEXT
                      10.data = GP:tx_news_pi1|news
                      10.required = 1
                      # sanitize your url
                      10.rawUrlEncode = 1
                      10.wrap = &tx_news_pi1[news]=|
                  }
              }
      
              # Current language selected:
              ACT < .NO
              ACT.linkWrap = <strong> | </strong>
      
              # Language that is NOT available:
              USERDEF1 < .NO
              USERDEF1.linkWrap = <span class="text-muted"> | </span>
              USERDEF1.doNotLinkIt = 1
      
        }
      }
      

      【讨论】:

        【解决方案4】:

        去啊哈德。只需注意 TYPO3 v4 GPvar: 但在 TYPO3 v6 GP :

        ####### LANGUAGE SELECTOR #######
        lib.langMneu = HMENU
        lib.langMneu.30 {  
              wrap = <ul class="lang"> | </ul></div>
              special = language
              special.value = 0,1,2
              special.normalWhenNoLanguage = 0
              1 = TMENU
              1 {
              noBlur = 1
              NO = 1
              NO {
                additionalParams.cObject = COA
                additionalParams.cObject {
                  5 = TEXT
                  5.wrap = &L=1
        
                  10 = TEXT
                  10.data = GP : tx_ttnews | backPid
                  10.wrap = &tx_ttnews[backPid]=|
                  10.required = 1
        
                  20 = TEXT
                  20.data = GP : tx_ttnews | tt_news
                  20.wrap = &tx_ttnews[tt_news]=|
                  20.required = 1
        
                  30 = TEXT
                  30.data = GP : cHash
                  30.wrap = &cHash=|
                  30.required = 1        
                }
              linkWrap = <li class="eng">|</li>||<li class="de">|</li>||<li class="ru">|</li>
              stdWrap.override = Eng||De||Rus
              doNotLinkIt = 0
        
        
              stdWrap.typolink.additionalParams = &L=0||&L=1||&L=3
              stdWrap.typolink.addQueryString = 1
              stdWrap.typolink.addQueryString.exclude = L,id,cHash,no_cache
              stdWrap.typolink.addQueryString.method = GET 
              stdWrap.typolink.useCacheHash = 1
              stdWrap.typolink.no_cache = 0
            }
              # Active
              ACT = 0
              ACT <.NO
              ACT.linkWrap = <li class="current eng">|</li>||<li class="current de">|</li>||<li class="current ru">|</li>
              #ACT.ATagParams = class="cur"
              #USERDEF1 <.NO
              #USERDEF2 < .ACT
              }
            }
        ####### END LANGUAGE SELECTOR #######
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-07-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-27
          • 1970-01-01
          • 2011-02-10
          相关资源
          最近更新 更多