Zum Inhalt springen

Problem mite Sprachumschaltung (real_url)

Erstellt am 4. Mai 2015 · 3 Antworten · letzte Antwort am 4. Mai 2015

Tags: RealURL, Frage

Bubu35 ·

Hallo liebe Leute,

ich habe ein kleines Problem mit real_URL in der Sprachumschaltung in meiner Typo3-Installation in der Version 6.2.11.

Deutsch funktioniert grundsätzlich (http://www.heliocentris.com/). Schalte ich jedoch mittels der Flaggensymbole auf die englische Version um, dann steht wieder http://www.heliocentris.com/index.php?id=72&L=1.

Die Sprachumschaltung erfolgt hierüber:

subparts.LANGUAGE_SWITCH = HMENU
subparts.LANGUAGE_SWITCH.special = language
subparts.LANGUAGE_SWITCH.special.value = 1,0
subparts.LANGUAGE_SWITCH {
special.normalWhenNoLanguage = 0
wrap = <ul id="language_switch">|</ul>
1 = TMENU
1 {
noBlur = 1
# Standard Sprachen
NO = 1
NO {
linkWrap = <li>|</li>
stdWrap.override = Deutsch || Englisch
doNotLinkIt = 1
stdWrap.typolink.parameter.data = page:uid
stdWrap.typolink.additionalParams = &L=0 || &L=1
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
}
ACT < .NO
ACT.linkWrap = <li class="active">|</li>
USERDEF1 < .NO
USERDEF2 < .ACT
}
}

Die allgemeine Config sieht so aus:

config {
prefixLocalAnchors = all
simulateStaticDocuments = 0
baseURL = http://www.heliocentris.com/
tx_realurl_enable = 1
linkVars = L(0-2)
uniqueLinkVars = 1
defaultGetVars.L = 0
language = de
locale_all = de_AT.UTF-8
sys_language_uid = 0
htmlTag_langKey = de
}
[globalVar = GP:L = 1]
config {
language = en
locale_all = en_GB.UTF-8
sys_language_uid = 1
htmlTag_langKey = en
}
}
[global]

htacess

# Enable URL rewriting
RewriteEngine On

RewriteBase /RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php [L]

Die realurl_conf.php

    <?php
    $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' => 'no_cache',
    'valueMap' => array(
    'nc' => 1,
    ),
    'noMatch' => 'bypass',
    ),
    array(
    'GETvar' => 'L',
    'valueMap' => array(
    # 'de' => '0',
    'en' => '1',
    ),
    'valueDefault' => 'de',
    'noMatch' => 'bypass',
    ),
    ),
    '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(),
    'postVarSets' => array(
    '_DEFAULT' => array(
    // news archive parameters
    'archive' => array(
    array(
    'GETvar' => 'tx_ttnews[year]' ,
    ),
    array(
    'GETvar' => 'tx_ttnews[month]' ,
    'valueMap' => array(
    'january' => '01',
    'february' => '02',
    'march' => '03',
    'april' => '04',
    'may' => '05',
    'june' => '06',
    'july' => '07',
    'august' => '08',
    'september' => '09',
    'october' => '10',
    'november' => '11',
    'december' => '12',
    )
    ),
    ),
    // news pagebrowser
    'browse' => array(
    array(
    'GETvar' => 'tx_ttnews[pointer]',
    ),
    ),
    // news categories
    'select_category' => array (
    array(
    'GETvar' => 'tx_ttnews[cat]',
    ),
    ),
    // news articles and searchwords
    'article' => array(
    array(
    'GETvar' => 'tx_ttnews[tt_news]',
    'lookUpTable' => array(
    'table' => 'tt_news',
    'id_field' => 'uid',
    'alias_field' => 'title',
    'addWhereClause' => ' AND NOT deleted',
    'useUniqueCache' => 1,
    'useUniqueCache_conf' => array(
    'strtolower' => 1,
    'spaceCharacter' => '-',
    ),
    ),
    ),
    array(
    'GETvar' => 'tx_ttnews[backPid]',
    ),
    array(
    'GETvar' => 'tx_ttnews[swords]',
    ),
    ),
    ),
    ),
    // configure filenames for different pagetypes
    'fileName' => array(
    'defaultToHTMLsuffixOnPrev' => 1,
    'index' => array(
    'print.html' => array(
    'keyValues' => array(
    'type' => 98,
    ),
    ),
    'rss.xml' => array(
    'keyValues' => array(
    'type' => 100,
    ),
    ),
    'rss091.xml' => array(
    'keyValues' => array(
    'type' => 101,
    ),
    ),
    'rdf.xml' => array(
    'keyValues' => array(
    'type' => 102,
    ),
    ),
    'atom.xml' => array(
    'keyValues' => array(
    'type' => 103,
    ),
    ),
    ),
    ),
    ),
    );
    ?>

Wo habe ich den Fehler gemacht?

Vielen Dank im Voraus für Eure Hilfe

toifel ·

subparts.LANGUAGE_SWITCH.1.NO.stdWrap.typolink nicht überschreiben - die richtigen Links sollten durch special = language schon automatisch generiert werden.

Bubu35 ·

Ich habe jetzt mal den gesamten Bereich auskommentiert:

#stdWrap.typolink.parameter.data = page:uid
              #stdWrap.typolink.additionalParams = &L=0 || &L=1
        #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

Das Ergebnis bleibt gleich. Sobald ich eines der Flaggensymbole anklicke, bekomme ich dann wieder z. Bsp.: index.php?id=72&L=0 oder index.php?id=72&L=1
Habe ich da etwas falsch verstanden?

Bubu35 ·

Jetzt weiß ich, wo mein Fehler liegt, aber ich bekomme ihn nicht gelöst. Ich habe mir diese Seite angeschaut #67175

"lib" habe ich bisher nicht genutzt, sondern nur Marker und Subparts.
Wenn ich o.g. Beispiel folgendermaßen nachbaue, dann wird mir zumindestens der englische Link angezeigt.

subparts.LANGUAGE = TEXT
subparts.LANGUAGE {
value = English
typolink.parameter.data = page:uid
typolink.additionalParams = &L=1
}

Nur funktioniert das umgebaute Snippet für die zweite Sprache nicht

# Änderungen für die englische Sprache
[globalVar = GP:L=1]
subparts.LANGUAGE.value = Deutsch
subparts.LANGUAGE.typolink.additionalParams = &L=0
[global]

subparts.LANGUAGE < subparts.LANGUAGE

Kann mir bitte jemand helfen, dass auch der deutsche Link angezeigt wird?