2015-02-11 2 views
0

У меня многоязычный многоуровневый многодоменный TYPO3 (4.5) экземпляр, где RealURL поддерживает меня. В некоторых подсайтах я просто не могу получить правильные URL для языков 1 и 2.В Typoscript HMENU, как заставить язык для URL-адреса

Это приведет к созданию шаблона www.language-2-domain.com/language-1-pagetitle

Вместо того, чтобы продолжать игру с помощью realurl_conf, я хотел бы знать, можно ли/T сказать, использовать TMENU для использования определенного языка - тогда я мог бы решить его с условием.

Вот совершенно нормально TMENU:

lib.content_sitemap = COA 
lib.content_sitemap { 
5 = HMENU 
5 { 
    wrap = <ul>|</ul> 
    1 = TMENU 
    1 { 
    expAll = 1 
    noBlur = 1 
    NO { 
     wrapItemAndSub = <li>|</li> 
     text = nav_title // title 
    } 

    ACT < .NO 
    ACT { 
     wrapItemAndSub = <li>|</li> 
     } 
    ACT = 1 

    CUR < .NO 
    CUR { 
     wrapItemAndSub = <li>|</li> 
     } 
    CUR = 1 
    } 
    } 
} 

Теперь то, что я мог бы использовать было бы что-то вроде

5.1.NO.text.sys_language_uid = 1 

Есть ли что-то подобное?

EDIT: Я вижу, это не «текст». Могу ли я построить typolink в NO вручную с помощью doNotLinkIt и заставить язык там?

+0

Таким образом, это будет тот же технический прецедент, что и «выход HMENU из другой языковой версии на текущей странице» – Urs

ответ

0

Это наглядный пример «отчаяния и поискать хаки вместо того, чтобы смотреть на проблему после хорошего ночного сна».

В конфигурации RealURL были обнаружены несоответствия, которые спровоцировали ошибочное поведение.

Я размещаю, надеюсь, полностью работающую конфигурацию RealURL. Он охватывает два однодоменных/многоязычных веб-сайтов, а также два многодоменных/многоязычных веб-сайтов. Вот почему я использую regex по URL-адресу.

<?php 
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array (
    '_DEFAULT' => array (
     'init' => array(
      'enableCHashCache' => 1, 
      'respectSimulateStaticURLs' => 0, 
      'appendMissingSlash' => 'ifNotFile', 
      'enableUrlDecodeCache' => 1, 
      'enableUrlEncodeCache' => 1, 
     ), 
     'preVars' => array(
      array(
       'GETvar' => 'L', 
       'valueMap' => array(
            'de' => '0', 
            'fr' => '1', 
            'it' => '2', 
          ), 
       'valueDefault' => 'de', 
       'noMatch' => 'bypass', 
      ), 
      array(
       'GETvar' => 'no_cache', 
       'valueMap' => array(
        'no_cache' => 1, 
       ), 
       'noMatch' => 'bypass', 
      ), 
     ), 
     'pagePath' => array (
      'rootpage_id' => 1, 
      'type' => 'user', 
      'disablePathCache' => 0, 
      'userFunc' => 
      'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main', 
      'spaceCharacter' => '-', 
      'languageGetVar' => 'L', 
      'expireDays' => 3 
     ), 
     'fileName' => array(
      'defaultToHTMLsuffixOnPrev' => 0, 
     ), 
    ), 
); 

/* site1 and site2 are single-domain */ 

/* site3 */ 
# http://blog.teamgeist-medien.de/2013/09/hardcore-realurl-mehrere-domains-prevars-sprachen-rootpages-decodeencode.html 

if ( preg_match('/(www\.)?site3-d\.ch/', $_SERVER['HTTP_HOST']) > 0 
    || preg_match('/(www\.)?site3-f\.ch/', $_SERVER['HTTP_HOST']) > 0 
    || preg_match('/(www\.)?site3-i\.ch/', $_SERVER['HTTP_HOST']) > 0) { 

$TYPO3_CONF_VARS['EXTCONF']['realurl']['site3'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']; 
$TYPO3_CONF_VARS['EXTCONF']['realurl']['site3']['pagePath']['rootpage_id'] = '618'; 

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array(
    'encode' => array(
     array(
      'GETvar' => 'L', 
      'value' => '', 
      'useConfiguration' => 'site3', 
      'urlPrepend' => 'http://www.site3-d.ch', 
     ), 
     array(
      'GETvar' => 'L', 
      'value' => '0', 
      'useConfiguration' => 'site3', 
      'urlPrepend' => 'http://www.site3-d.ch', 
     ), 
     array(
      'GETvar' => 'L', 
      'value' => '1', 
      'useConfiguration' => 'site3', 
      'urlPrepend' => 'http://www.site3-f.ch' 
     ), 
     array(
      'GETvar' => 'L', 
      'value' => '2', 
      'useConfiguration' => 'site3', 
      'urlPrepend' => 'http://www.site3-i.ch', 
     ), 
    ), 
    'decode' => array(
     'www.site3-d.ch' => array(
      'GETvars' => array(
       'L' => '0', 
      ), 
      'useConfiguration' => 'site3', 
     ), 
     'www.site3-f.ch' => array(
      'GETvars' => array(
       'L' => '1', 
      ), 
      'useConfiguration' => 'site3', 
     ), 
     'www.site3-i.ch' => array(
      'GETvars' => array(
       'L' => '2', 
      ), 
      'useConfiguration' => 'site3', 
     ), 
    ), 
); 
} 

/**  site4 */ 

if ( preg_match('/(www\.)?site4-d\.ch/', $_SERVER['HTTP_HOST']) > 0 
    || preg_match('/(www\.)?site4-f\.ch/', $_SERVER['HTTP_HOST']) > 0) { 

// default Konfiguration übernehmen 
$TYPO3_CONF_VARS['EXTCONF']['realurl']['site4'] = $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']; 
$TYPO3_CONF_VARS['EXTCONF']['realurl']['site4']['pagePath']['rootpage_id'] = '574'; 
$TYPO3_CONF_VARS['EXTCONF']['realurl']['site4']['preVars'] = array(); 

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DOMAINS'] = array(
    'encode' => array(
     array(
      'GETvar' => 'L', 
      'value' => '', 
      'useConfiguration' => 'site4', 
      'urlPrepend' => 'http://www.site4-d.ch', 
     ), 
     array(
      'GETvar' => 'L', 
      'value' => '0', 
      'useConfiguration' => 'site4', 
      'urlPrepend' => 'http://www.site4-d.ch', 
     ), 
     array(
      'GETvar' => 'L', 
      'value' => '1', 
      'useConfiguration' => 'site4', 
      'urlPrepend' => 'http://www.site4-f.ch' 
     ), 
    ), 
    'decode' => array(
     'www.site4-d.ch' => array(
      'GETvars' => array(
       'L' => '0', 
      ), 
      'useConfiguration' => 'site4', 
     ), 
     'www.site4-f.ch' => array(
      'GETvars' => array(
       'L' => '1', 
      ), 
      'useConfiguration' => 'site4', 
     ), 
    ), 
); 
} 


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