Zum Inhalt springen

Realurl -interne Links-

Erstellt am 25. Juli 2006 · 4 Antworten · letzte Antwort am 31. Juli 2006

Tags: Frage

omikron ·

Ich habe zwei Fragen bzgl. Realurl:

Gibt es auch eine Möglichkeit die internen Links automatisch auf realurl anzupassen? Im Menü sieht soweit alles aus wie es soll, nur die auf den Seiten gesetzten internen Links zeigen weiterhin auf ?index.php?id=xx.

Wie werden die Aliase von Seiten in Realurl erkannt, die NICHT im Menü vorhanden sind? Bei mir werden diese in Realurl ignoriert.

anj ·

Hi, das macht realurl natürlich auch, dazu solltest du Dir mal die locaconf.php
genauer anschauen:

Diese config gibt dir sozusagen das minimum für realurl, alle anderen ext. solltest du dann separat behandeln.

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
#
    '_DEFAULT' => array(
        'init' => array(
            'enableCHashCache' => 1,
            'appendMissingSlash' => 'ifNotFile',
            'enableUrlDecodeCache' => 1,
            'enableUrlEncodeCache' => 1,
        ),
        'redirects' => array(),
        'preVars' => array(
            array(
                'GETvar' => 'no_cache',
                'valueMap' => array(
                    'nc' => 1,
                ),
                'noMatch' => 'bypass',
            ),
            array(
                'GETvar' => 'L',
                'valueMap' => array(
                    'dk' => '2',
                    'de' => '1',
                ),
                '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(
                        
           
        // configure filenames for different pagetypes
        'fileName' => array(
            'index' => array(

                  /*index.html ans ende setzen*/     
                  /*'index.html' => array(
                      'keyValues' => 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,
                    ),
                ),
            ),
        ),
    ),
);
omikron ·

Danke für den Hinweis. Allerdings sehe ich nicht, was an meiner Konfiguration anders ist (bis auf die "filenames", aber die benötige ich (vorerst) auch nicht). Die Prevars werden auch vorerst nicht benötigt, da die multilingualen Features nicht genutzt werden.

Bei Dir funktioniert es mit der Übersetzung der internen Links und bei Dir werden die Shortcuts und Seiten, die nicht im Menü sind auch in Realurl übersetzt? Welcher Teil Deiner Konfig. macht dieses, da ich auf den ersten Blick keine großen Unterschiede zu meiner feststellen kann bzw. nicht erkenne, wo dieses gemacht wird.

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc']['tx_realurl'] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc']['tx_realurl'] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearPageCacheEval']['tx_realurl'] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->clearPageCacheMgm';

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urldecodecache'] = 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearAllCache_additionalTables']['tx_realurl_urlencodecache'] = 'tx_realurl_urlencodecache';

$TYPO3_CONF_VARS['FE']['addRootLineFields'].= ',tx_realurl_pathsegment,alias,nav_title,title';
$TYPO3_CONF_VARS["FE"]['pageNotFound_handling'] = '1';
$TYPO3_CONF_VARS["FE"]['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';

$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
'_DEFAULT' => array(

  'init' => array(
    'enableCHashCache' => 1,
    'appendMissingSlash' => 'ifNotFile',
		'enableUrlDecodeCache' => 1,
		'enableUrlEncodeCache' => 1,
		'postVarSet_failureMode' => 0,
	),

  'redirects' => array(),	
  

  'pagePath' => array(
    'type' => 'user',
    'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
		'spaceCharacter' => '_',
		'languageGetVar' => 'L',
		'expireDays' => 1,
		'rootpage_id' => 17,
	),

	bypassed -- start
  'fixedPostVars' => array(
	  '_DEFAULT' => array(

    	  array(
			  'GETvar' => 'no_cache',
				'valueMap' => array(
				  'nc' => 1,
         ),
					
			   'noMatch' => 'bypass',
		  ),
 
		),
  ),
	bypassed -- end
	
	
   'postVarSets' => array(
	  '_DEFAULT' => array(
		  

	/* news archive parameters -- start
	 Habe ich rausgeschnitten, damit etwas Platz gespart wird, da das 
         nichts mit dem o. g. Problem zu tun hat */
			
		),

    // configure filenames for different pagetypes -- start

    'fileName' => array(
		  'index' => array(			  
				'page.html' => array(
				  'keyValues' => array (
					  'type' => 0,
					),
				),
				
				'_DEFAULT' => array(
				  'keyValues' => array (
					),
				),
			),
    ),
		),
		// configure filenames for different pagetypes -- end
		
  ), // the default domain end
);
omikron ·

Ich habe eine Einstellung gefunden, die automatisch von der htmlarea-Extension bei Links mit Titel eingefügt wird:

<a title="mytitle" href="?id=333" rtekeep="1">Mein Link</a>

(Anzeige im Browser www.mydomain.de/?id=333 --> Unerwünscht)

Diese Einstellung verhindert, dass die internen Links in realurl übersetzt werden. Immer wenn ein Titel angegeben ist, wird das Attribut rtekeep gesetzt, d. h. es ist nicht möglich, in der HTML-Ansicht einfach das rte-keep-Attribut zu löschen, d. h. realurl funktioniert nur mit Links ohne Titel, d. h. wenn der Link so aussieht:

<a href="?id=333">Mein Link</a>

(Anzeige im Browser: www.mydomain/myContext/)

funktioniert es so wie es soll.

Gibt es vielleicht noch weitere Einstellungen, die sich mit Realurl "beißen", die zu meinen ersten (obigen) Postings genannten Problemen führen? Wie muss/kann ich htmlarea (oder Realurl?) konfigurieren, dass auch die oben genannten problematischen Links korrekt übersetzt werden bzw. gar nicht erst erzeugt werden?

omikron ·

Wenn ich es richtig sehe, liegt das Problem in der class.tx_realurl_modfunc1.php (bei RealURL 1.1.0). Offensichtlich wird immer ein String der Form <a href=...> gesucht und mit der entsprechenden echten URL ersetzt. Sobald im Anker etwas anderes vor dem href auftaucht (wie z. B. der Titel), d. h. der Anker so aussieht:

<a title="xxx" href="...">

dann wird der String nicht mehr korrekt erkannt, da, wie gesagt, nach <a href= ...> gesucht wird.

Gibt es inzwischen einen Möglichkeit das Problem zu umgehen? Wenn ich es richtig sehe, ist die Version 1.1.0 die neueste.