[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