Zum Inhalt springen

real_url pfad mit Unterkategorien

Erstellt am 25. März 2009 · 1 Antwort · letzte Antwort am 25. März 2009

Tags: Frage

KoS ·

Hallo,

ich habe ein Problem mit RealURL. Ich habe einen Produkt-Katalog geschrieben und möchte gern die Parameter durch RealURL ersetzen.

Ist es möglich innerhalb von fixedPostVars oder generell eine Struktur wie diese aufzubauen:
[root]/products.html
[root]/products/kategoriename.html
[root]/products/kategoriename/produktname.html

Je nach dem ob man sich bereits in einer Kategorie befindet oder nicht, wird tx_extension_pi1[product] gesetzt. tx_extension_pi1[category] ist immer gesetzt.

Hier meine bisherige realurl_conf (snip)

'fixedPostVars' => array(
	'16' => array(
		array(
			'GETvar' => 'tx_extension_pi1[category]',
			'lookUpTable' => array(
				'table' => 'tx_extension_cat',
				'id_field' => 'uid',
				'alias_field' => 'title',
				'addWhereClause' => ' AND NOT deleted',
				'useUniqueCache' => 1,
				'useUniqueCache_conf' => array(
					'strtolower' => 1,
					'spaceCharacter' => '-',
				),
			),
		),
		array(
			'GETvar' => 'tx_extension_pi1[product]',
			//'noMatch' => 'bypass',
			'lookUpTable' => array(
				'table' => 'tx_extension_products',
				'id_field' => 'uid',
				'alias_field' => 'name',
				'addWhereClause' => ' AND NOT deleted',
				'useUniqueCache' => 1,
				'useUniqueCache_conf' => array(
					'strtolower' => 1,
					'spaceCharacter' => '-',
				),
			),
		),
	),
),

Es stellt sich mit der bisherigen Konfiguration das Problem das trotz dessen kein tx_extension_pi1[product] gesetzt ist, trozdem bei aufruf einer tx_extension_pi1[category]=5 ein Wert von tx_extension_pi1[product] in den piVars landet.
Sobald ich lookUpTable für tx_extension_pi1[product] entferne, funktioniert das auch alles mit dem problem das nun natürlich statt dem Namen die Uid des Produkts als produktname.html verwendet wird.
Versuche ich noMatch auf bypass zu setzen, wird statt der Link zum Produkt immer auf die selbe Kategorie gelinkt, also trifft noMatch quasi immer zu.

Kann mir hier jemand weiter helfen?

Vielen Dank!

KoS ·

Also ... nach weiterem viel rum probieren und Fehlersuche habe ich festgestellt das RealURL wohl ein Problem mit pid = -1 hat.
Ist da jemandem etwas bekannt?

Jedenfalls nachdem ich mit 'addWhereClause' um 'AND pid > 0' erweitert habe, hat es funktioniert.