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
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an