Zum Inhalt springen

sprachmenue verlinkungen

Erstellt am 25. Februar 2016 · 2 Antworten · letzte Antwort am 26. Februar 2016

Tags: URLs & Routing, HTML & CSS, TYPO3 6.x, Frage

hhheidi ·

liebes forum,
ich habe leider ein paar bugs auf meiner seite aber einer nach dem anderen 😉 ....
die adresse zu meiner seite in all ihrer buggyness findet ihr in meiner signatur, vllt hilft das ja...
typo3 version 6.1.7

aktuell geht es um die verlinkung der sprachversionen, ich habe ein footermenue über das man jeweils zwischen englisch und deutsch wechseln kann. englisch ist die standardsprache.
auf der lokal entwickelten seite funktioniert alles, jetzt auf dem webspace machen die pfadsegmente "/en/" und "/de/" im link probleme.
auf den seiten erschent zwar der content, aber die ganze optik ist futsch und wenn man dann auf diesen seiten wiederum einen der sprachlinks anklickt, kommen immer mehr "/en/" bzw. "/de/" (bis zu 3) pfadsegemente dazu ( also: meineseite.de/de/de/de/kontakt) , bis er dann irgendwann doch sagt "Not found".

frage: wie mache ich also, dass der link meineseite.de/de/kontakt die deutsche version der seite meineseite.de/contact aufruft, bzw. meineseite.de/en/contact die seite meineseite.de/contact?
von mir aus könnte ich auf diese /en/ und /de/ segmente verzichten, bekomme das aber nur für die hauptsprache englisch hin
(auskommentieren der zeile " 32.typolink.additionalParams = &L=0" )

ich bedanke mich schon jetzt recht herzlich, wenn jemand kompetentes mal einen blick drüber wirft und seine ideen dazu äußert.
merci!

hier ein paar codesnippets die dazu von interesse sein dürften:

hier der relevante config teil :

config{

#### REAL-URL ####
simulateStaticDocuments = 0
baseURL = www.meineseite.bla
tx_realurl_enable = 1

##spam vermeiden bei mailto
spamProtectEmailAddresses = 1
spamProtectEmailAddresses_atSubst = @<span class="at-subst"></span>
spamProtectEmailAddresses_lastDotSubst = .

## autom. Seitentitel deaktivieren
noPageTitle = 1

###zweite sprache hinzu:
## sprachlinks
linkVars = L
uniqueLinkVars = 1
htmlTag_langKey = en

## standardsprache gemäß sprachID aus backend festlegen:
sys_language_uid = 0
language = en
locale_all = en_EN.UTF8

## für mehrsprachigkeit
sys_language_mode = content_fallback


}
## bedingung wenn button z sprachwechsel geklickt:
[globalVar = GP:L = 4]
config{
sys_language_uid = 4
language = de
htmlTag_langKey = de
locale_all = de_DE.UTF8

}
[global]

weiter unten dann, das footermenue mit den links:

footer = COA
footer {

10 = TEXT
10{
data = date:U
strftime = &copy; %Y mein name <span class="pipe"> |</span>

}

20 = HMENU
20{

special = list
special.value = 2,6,8,7,11

1 = TMENU
1 {
NO = 1
NO.allWrap = <br class="break">&nbsp;|&nbsp;| |*| &nbsp;|&nbsp;| |*| &nbsp;|&nbsp;
CUR = 1
CUR = < .NO
CUR.allWrap = &nbsp;|&nbsp;| |*| &nbsp;|&nbsp;| |*| &nbsp;|&nbsp;

CUR.doNotLinkIt = 1
}

}
## sprachlink
30 = TEXT
30.value <li>&nbsp;

##erstsprache (en)
32 = TEXT
32.value = <span class="noHover">|</span> EN
32.typolink.parameter.data = page:uid
32.typolink.additionalParams = &L=0


##zweitsprache (de)
34 = TEXT
34.value = <span class="noHover">|</span> DE
34.typolink.parameter.data = page:uid
34.typolink.additionalParams = &L=4



##abschließendes li
34.wrap = &nbsp;</li>

die seiten konfiguration mit den verweisen zum css:

page = PAGE
page{

config{
doctype = html5
}

typeNum = 0

includeCSS.custom = fileadmin/template_fluid/public/css/abit.css
includeCSS.responsive = fileadmin/template_fluid/public/css/abit_res.css

10 < template
}

und die realURL_config:

<?php

/**
*
* dix_UrlTool default realurl configuration
* based on realurl-configuration of news.typo3.org
* http://news.typo3.org/about/realurl-configuration/
*
*/

function user_encodeSpURL_postProc(&$params, &$ref) {
if ($params['URL'] != '/') {
$params['URL'] = preg_replace(
'/\/($|\?|\#)/U',
'\1',
$params['URL']
);
}
}

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
'encodeSpURL_postProc' => array('user_encodeSpURL_postProc'),
'_DEFAULT' => array (
'init' => array (
'enableCHashCache' => '1',
'appendMissingSlash' => 'ifNotFile',
'enableUrlDecodeCache' => '1',
'enableUrlEncodeCache' => '1',
),
'redirects' => array (
),
'preVars' => array (
'0' => array (
'GETvar' => 'no_cache',
'valueMap' => array (
'nc' => '1',
),
'noMatch' => 'bypass'
),
'1' => array (
'GETvar' => 'L',
'valueMap' => array (
'de' => '4',
'en' => '0',
),
'noMatch' => 'bypass',
),
'2' => array (
'GETvar' => 'lang',
'valueMap' => array (
'de' => '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',
),
'fixedPostVars' => array (
),
'postVarSets' => array (
'_DEFAULT' => array (
'archive' => array (
'0' => array (
'GETvar' => 'tx_ttnews[year]',
),
'1' => 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',
),
),
),
'browse' => array (
'0' => array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select_category' => array (
'0' => array (
'GETvar' => 'tx_ttnews[cat]',
),
),
'article' => array (
'0' => 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' => '-',
),
),
),
'1' => array (
'GETvar' => 'tx_ttnews[swords]',
),
),
),
),
'fileName' => array (
//
// if you don't want .html-URLs set the following to "false" (e.g. 'defaultToHTMLsuffixOnPrev' => false,)
// then you get http://www.yourdomain.com/imprint/ instead of http://www.yourdomain.com/imprint.html
//
'defaultToHTMLsuffixOnPrev' => false,
'index' => array (
'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',
),
),
),
),
),

);

?>
hhheidi ·

vielen dank für diesen link!
ich habe das menu auf diese weise auch nochmal angelegt, aber es bleibt das problem mit dem pfad.
ich muss wohl irgendwo realurl nochmal umkonfigurieren. ich habe das schon länger nicht mehr gemacht und bin etwas raus aus er thematik, werde mich nochmal etwas einlesen müssen.