Zum Inhalt springen

RealURL defaultToHTMLsuffixOnPrev umgehen

Erstellt am 21. Mai 2007 · 1 Antwort · letzte Antwort am 22. Mai 2007

Tags: RealURL, Frage

joro ·

Hallo,
ich hätte da ein Problem, für das ich keine Lösung finde.
Ich habe eine Seite mit RealURL konfiguriert und defaultToHTMLsuffixOnPrev gesetzt.
Dadurch habe ich URL's der Form www.meineseite.de/seite.html

Jetzt möchte ich für bestimmte PID's www.meineseite.de/seite/ haben, statt seite.html
Wie kann ich den Suffix für bestimmte PID's ausschalten?

Liebe Grüße,
joro

joro ·

Habe das jetzt erstmal so gelöst, dass ich die Realurl Klasse erweitert habe.

Ich kann jetzt in der localconf unter filename suppressHTMLsuffixForPID (wurde von mir hinzugefügt) mit einer PID liste setzen. Bei den Seiten in der PID-Liste wird dann kein .html hinten dran gehängt.

	'fileName' => array ( 
		'defaultToHTMLsuffixOnPrev' => true, 
		'suppressHTMLsuffixForPID' => '26, 88, 28',
		'index' => array( 
			'rss.xml' => array( 
				'keyValues' => array ( 
					'type' => 100, 
				) 
			), 
			'print' => array( 
				'keyValues' => array( 
					'type' => 98, 
				) 
			), 
			'_DEFAULT' => array(
				'keyValues' => array(
				)
			),
		), 
	),

Bei RealURL 1.1.4 in class.tx_realurl.php ab Zeile 258 siehts bei mir jetzt so aus:

// Add filename, if any:
$fileName = $this->encodeSpURL_fileName($paramKeyValues);
if (strlen($newUrl) && !strlen($fileName) && $this->extConf['fileName']['defaultToHTMLsuffixOnPrev'])	{

	// start added by joro
	if( $this->extConf['fileName']['suppressHTMLsuffixForPID'] != '') {
		// Check for current PID in List
	if (preg_match("/(^|( |,)+)".$page_id."(( |,)+|$)/", $this->extConf['fileName']['suppressHTMLsuffixForPID'])) {
		$newUrl.=rawurlencode($filename);
	} else {
		$newUrl = substr($newUrl,0,-1) .
		(!$this->isString($this->extConf['fileName']['defaultToHTMLsuffixOnPrev'], 'defaultToHTMLsuffixOnPrev') ? '.html' : $this->extConf['fileName']['defaultToHTMLsuffixOnPrev']);
	}
} else {
	$newUrl = substr($newUrl,0,-1) .
		(!$this->isString($this->extConf['fileName']['defaultToHTMLsuffixOnPrev'], 'defaultToHTMLsuffixOnPrev') ? '.html' : $this->extConf['fileName']['defaultToHTMLsuffixOnPrev']);
}
	// eof added by joro
} else {
	$newUrl.= rawurlencode($fileName);
}

Ist vielleicht nicht die beste Lösung, aber funktioniert.