[Typo3-german] RealURL 0.3.0 Typo 3.8 und Mehrsprachigkeit
Rudi Ullmert
typo3 at server4typo.de
Tue Aug 16 16:24:34 CEST 2005
Hi @ all,
habe auf meiner Entwicklungsseite http://develop.server4typo.de/ die
Extension realurl 0.3.0 eingebunden.
Wenn man nun auf eine der Flaggen (deutsch oder englisch) klickt,
erscheint jedoch hinter der URL der Zusatz ?L=0 oder ?L=1 (zu sehen bei
Unternehmen oder Kontakt).
Nun möchte ich aber, dass dieser Zusatz ganz verschwindet und der im
Backend angegebene Seitentitel der Sprache ohne ?L=0 oder ?L=1 erscheint.
Ist dies überhaupt möglich ???
bin bereits seit Tagen am recherchieren, habe mir die Real URL Docu
angeschaut und Teile in meiner realurl.php verwendet. Bin jedoch kein
Programmierer und habe nur geringe PHP-Kenntnisse, was die ganze Sache
besonders erschwert. Jedoch bin ich bereit mich da "reinzubeissen" ;-)
DANK an alle die mir dabei helfen, womöglich mit einem kompletten
funktionierendem Beispiel.
meine Konfigurationen (hoffentlich nachvollziehbar):
[1] im Typoscript Setup
config.linkVars=L
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
# German language, sys_language.uid = 0
[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = de
config.locale_all = de_DE
[end]
# English language, sys_language.uid = 1
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = english
[end]
# for Real-URL-Extension
config.simulateStaticDocuments = 0
config.baseURL = http://develop.server4typo.de/
#config.baseURL = 1
config.tx_realurl_enable = 1
config.prefixLocalAnchors = all
#realurl config end
[2] die ebenfalls eingebundene languageMenu_realurl.php
SPRACHE = PHP_SCRIPT
SPRACHE {
file = fileadmin/service4it/languageMenu_realurl.php
}
[3] die languageMenu_realurl.php
if (!is_object($this)) die ('Error: No parent object present.');
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*',
'pages_language_overlay',
'pid='.intval($GLOBALS['TSFE']->id).$GLOBALS['TSFE']->sys_page->enableFields('pages_language_overlay'),
'sys_language_uid');
$langArr = array();
while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$langArr[$row['sys_language_uid']] = $row['title'];
}
$linkarray = array(
'0' => '',
'1' => ''
);
$localTempl = new t3lib_TStemplate;
foreach($linkarray as $key=>$lang)
{
$LD = $localTempl->linkData($GLOBALS['TSFE']->page,
'', // $oTarget
'', // $no_cache
'', // $script
'', // $overrideArray
'&L='.$key, //.$def['uid'], // $addParams,
need the & prefix to work
'0');
$linkarray[$key] = $LD['totalURL'];
}
$flags = array();
$flags[] = ($GLOBALS['TSFE']->sys_language_uid==0?$pointer:'').'<a
href="'.htmlspecialchars($linkarray[0]).'" target="_top"><img
src="media/uploads/flag_de.gif" width="21" height="13" hspace="5"
border="0" alt="" /></a>';
$flags[] = ($GLOBALS['TSFE']->sys_language_uid==1?$pointer:'').'<a
href="'.htmlspecialchars($linkarray[1]).'" target="_top"><img
src="media/uploads/flag_uk'.($langArr[1]?'':'_d').'.gif" width="21"
height="13" hspace="5" border="0" alt="" /></a>';
$content = '<table border="0" cellpadding="0" cellspacing="0"><tr><td
align="center"></td><td>'.implode('',$flags).'</td></tr></table>';
[4] die realurl.php (ist per include in die localconf.php eingebunden)
<?php
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => true,
'enableUrlDecodeCache' => true,
'appendMissingSlash' => 'ifNotFile',
'enableUrlEncodeHash' => 1,
'respectSimulateStaticURLs' => 1,
// 'postVarSet_failureMode' => 'redirect_goodUpperDir',
),
// Real URL Doku Seite 9
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
array(
'GETvar' => 'L',
'valueMap' => array(
'deutsch' => '0',
'de' => '0',
'english' => '1',
'en' => '1',
),
'valueDefault' => 'de',
),
),
),
// Real URL Doku Seite 9 END
'pagePath' => array(
'type' => 'user',
'userFunc' =>
'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 7,
// 'rootpage_id' => 2,
'disablePathCache' => '1',
//
'encodeTitle_userProc'=>'EXT:realurl/tx_realurl_encodeTitle_userProc.php:&user_encodeDates',
),
'fixedPostVars' => array(
),
'fileName' => array(
'index' => array(
),
'_DEFAULT' => array(
'keyValues' => array(
)
),
// add .html suffix to the end of the path generated
'defaultToHTMLsuffixOnPrev' => 1,
),
);
?>
[5] die .htaccess
# Enable URL rewriting
RewriteEngine On
# for RealURL - extension
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
# to enable "click to enlardge"
RewriteRule .*/showpic.(php)$ showpic.php [L]
RewriteRule .*/uploads/pics/(.*)$ uploads/pics/$1 [L]
# If the file/symlink/directory does not exist => Redirect to index.php
# Important note: If you copy/paste this into httpd.conf instead
# of .htaccess you will need to add '%{DOCUMENT_ROOT}' left to each
# '%{REQUEST_FILENAME}' part.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# also for RealURL - extension
RewriteRule .* index.php
Gruß Rudi
More information about the TYPO3-german
mailing list