[TYPO3-german] RealURL Konfiguration: postVarSets, valueMaps und Doppelslashes
Mikel
lists at con-version.com
Fri Jan 24 14:17:40 CET 2014
Hallo zusammen,
gibt es eine Möglichkeit, RealURL so zu konfigurieren, dass nicht
vorhandene Parameter einfach nicht ausgewertet werden? Ohne dabei
valueMap und noMatch zu verwenden?
Ich habe eine Extension, in der es mehrere Controller gibt.
Sich wiederholende Darstellungen sind dabei in Partials ausgelagert, die
von allen Controllern verwendet werden dürfen.
Ein einfaches Beispiel:
Eine Jahreszahl wird an manchen Stellen mit übergeben. Diese wird jedoch
nicht überall benötigt.
Wenn diese nun in der Konfiguration eingebunden wird mit
'GETvar' => 'tx_pressandevents_pressreleases[year]',
dann bindet RealURL dieses Segment immer mit in die URL, auch wenn der
Parameter garnicht übergeben wird.
Dies führt zu einem Doppelslash in der URL, also zu einem leeren Wert.
noMatch kann in RealURL nur verwendet werden, wenn eine valueMap
erstellt wurde. Für eine Jahreszahl natürlich kein Problem, da ich mir
als Workaround einfach kurz ein Array mit 40 Jahren erstellen lasse und
das Mapping dadurch erstellen kann.
Ein komplexeres Beispiel:
Wenn ich allerdings komplexere Daten habe, die ich nicht wie eine
Jahreszahl eben mal schnell erstellen kann, gibt es auch keinen Workaround.
Der Parameter tx_pressandevents_pressreleases[pressRelease] wird hier
per lookUpTable "geschönt". Dieser Parameter muss allerdings nicht von
allen Stellen übergeben werden. Wenn er also nicht mit übergeben wird,
dann wird auch hier ein leeres Segment in die URL geschrieben, was auch
hier zu einem Doppelslash führt.
Auch hier müsste eine valueMap erzeugt werden, um noMatch verwenden zu
können. Dies ist hier jedoch nicht möglich, oder?
'GETvar' => 'tx_pressandevents_pressreleases[pressRelease]',
'lookUpTable' => array(
'table' => 'tx_pressandevents_domain_model_pressrelease',
'id_field' => 'uid',
'alias_field' => 'headline',
'addWhereClause' => ' AND NOT deleted',
'useUniqueCache' => 1,
'useUniqueCache_conf' => array(
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
Ich bräuchte also einfach nur sowas wie "dontIncludeSegmentIfEmpty" :-)
Hat jemand einen hilfreichen Tipp?
Mikel
More information about the TYPO3-german
mailing list