Деталь TYPO3 tt_news с переключением языка

У меня проблема с tt_news в TYPO3.

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

Может ли кто-нибудь помочь мне настроить tt_news. Я хотел бы стоять на той же странице с подробностями, с той разницей, что контент на другом языке?


person zoom23    schedule 12.06.2013    source источник
comment
Не могли бы вы дать опечатку, как вы управляли многоязыковой функциональностью?   -  person Wipster    schedule 13.06.2013


Ответы (4)


Если вы разместите свой 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
person maholtz    schedule 13.06.2013

У меня была точно такая же проблема с просмотром несколько лет назад, и я понял следующий фрагмент:

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 (идентификатор языковой записи)
person SimonSimCity    schedule 13.06.2013

Пример переключения языка и tx_news, основанный на ответе Махольца:

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

  }
}
person Markus Kappe    schedule 21.07.2016

Давай, аххад с этим. Просто обратите внимание в 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 #######
person Oleg V Karun    schedule 06.05.2017