2015-11-01 5 views
1

Я создал однодоменный веб-сайт с разными языками и настроил RealURL.TYPO3: переключатель языка RealURL для расширения Extbase

На одной странице есть плагин FE со списком и действиями шоу. Ссылки из списка на шоу действий оказываются правильно, например:

en/press.html -> en/press/release1.html 
en/press.html -> en/press/release2.html 

При нажатии на один из ссылок поверхности детализированной страницы - до сих пор, так хорошо. Все работает так, как ожидалось.

Однако переключатель языка возвращает следующие ссылки (на странице детали):

en/press.html 
de/presse.html 

ссылки, конечно, следует читать следующим образом:

en/press/release1.html 
de/presse/aussendung1.html 

Кроме того, меню крошка не отображается подробная страница; он читает Home > Press, независимо от того, включен ли я в список или показываю действие.

Язык Nav

temp.langNav = COA 
temp.langNav { 
    10 = HMENU 
    10 { 
    special = language 
    special.value = 0,1,2,3,4,5,6,7,8 
    special.normalWhenNoLanguage = 0 
    wrap = <ul class="lang-sel__list">|</ul> 
    1 = TMENU 
    1 { 
     noBlur = 1 
     NO = 1 
     NO { 
     allWrap = <li class="lang-sel__item">|</li> 
     ATagParams = class="lang-sel__link" 
     stdWrap.setCurrent = English || Deutsch || Русский || Česky || Polski || Français || Română || Hrvatski || Slovenčina 
     stdWrap.current = 1 
     } 

     USERDEF1 = 1 
     USERDEF1 { 
     doNotLinkIt = 1 
     stdWrap.cObject = TEXT 
     stdWrap.cObject.value = 
     } 
    } 
    } 
} 

temp.selectedLang = TEXT 
temp.selectedLang.value < config.language 

Иерархическая Nav

temp.breadcrumbNav=COA 
temp.breadcrumbNav { 
10 = HMENU 
10 { 
special = rootline 
special.range = 0|-1 
includeNotInMenu = 1 
wrap = | 
1 = TMENU 
    1.noBlur = 1 
    1.CUR = 1 
    1.wrap = | 
    1.NO { 
     stdWrap.field = title 
     ATagParams = class="main-header__breadcrumb-link" 
     ATagTitle.field = nav_title // title 
     linkWrap = <li class="main-header__breadcrumb-item">|</li> 
    } 
    1.CUR { 
     stdWrap.field = title 
     linkWrap = <li class="main-header__breadcrumb-item">|</li> 
     doNotLinkIt = 1 
     } 
    } 
} 

RealURL Config

$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment'; 

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
    '_DEFAULT' => array(
     'init' => array(
      'enableCHashCache' => 1, 
      'appendMissingSlash' => 'ifNotFile', 
      'enableUrlDecodeCache' => 1, 
      'enableUrlEncodeCache' => 1, 
      'postVarSet_failureMode' => '', 
     ), 
     'redirects' => array(), 
     'preVars' => array(
      array(
       'GETvar' => 'L', 
       'valueMap' => array(
        'en' => 0, 
        'de' => 1, 
        'ru' => 2, 
        'cz' => 3, 
        'pl' => 4, 
        'fr' => 5, 
        'ro' => 6, 
        'hr' => 7, 
        'sk' => 8 
       ), 
       'valueDefault' => 'en', 
      ), 
     ), 
     'pagePath' => array(
      'type' => 'user', 
      'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 
      'spaceCharacter' => '-', 
      'languageGetVar' => 'L', 
      'expireDays' => 7, 
      'rootpage_id' => 1, 
      'firstHitPathCache' => 1, 
     ), 
     'fixedPostVars' => array(
      '_DEFAULT' => array(
       array(
        'GETvar' => 'press', 
        'lookUpTable' => array(
         'table' => 'tx_myext_domain_model_press', 
         'id_field' => 'uid', 
         'alias_field' => 'title', 
         'addWhereClause' => ' AND NOT deleted', 
         'useUniqueCache' => 1, 
         'useUniqueCache_conf' => array(
          'strtolower' => 1, 
          'spaceCharacter' => '-' 
         ), 
         'languageGetVar' => 'L', 
         'languageField' => 'sys_language_uid', 
         'transOrigPointerField' => 'l10n_parent', 
        ) 
      ) 
     ), 
     'fileName' => array(
      'defaultToHTMLsuffixOnPrev' => 1 
     ), 
    ), 
); 

ответ

1

Вы должны сказать TY PO3, чтобы сохранить параметры.

Это делается путем настройки addQueryString в HMENU ConentObject. Ваш пример будет расширен:

temp.breadcrumbNav=COA 
temp.breadcrumbNav { 
    10 = HMENU 
    10 { 
     1 { 
      NO { 
       addQueryString.exclude = L,cHash 
      } 
     } 
    } 
} 

За дополнительной информацией обратитесь к документации:

docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Hmenu/Index.html и docs.typo3.org/typo3cms/TyposcriptReference/Functions/Typolink/Index.html

И выше решение может быть найдено на горне: https://forge.typo3.org/issues/16466#note-3

Смежные вопросы