Redirect aus Controller und RealURL

  • markusstrauss markusstr...
    TYPO3-Anwärter
    0 x
    6 Beiträge
    0 Hilfreiche Beiträge
    10. 07. 2013, 15:40

    Hallo Leute, ich hoffe ihr könnt mir helfen.

    Ich bin dabei eine Extension für TYPO3 6.0 mittels Extbase & Fluid zu entwickeln.
    Dabei habe ich eine action, die mittels

    1. $this->redirect('searchResults', null, null, $searchArray, 47);

    auf eine andere Seite (mit ID 48 und action = searchResults) weiterleitet.

    Das funktioniert auch ganz gut. Meine schönen SEO-Urls durch RealURL gehen dabei allerdings verloren! Wenn ich einen <f:link.... ViewHelper im Template verwende, werden die Urls passend umgeschrieben. Wird jedoch ein Redirect durch einen Controller ausgelöst, so sind in der Url alle GET-Parameter sichtbar und es wird nichts umgeschrieben.

    Hat jemand eine Idee woran das liegt. bzw. wie ich das ändern kann? (ohne die komplette Url statisch einzufügen?)

    MfG,
    Markus


  • 1
  • emeh emeh
    Padawan
    0 x
    41 Beiträge
    2 Hilfreiche Beiträge
    15. 07. 2013, 15:55

    Hallo, ich hab's bis Typo3 4.7 wie folgt gemacht, aber noch nicht auf namespaces umgeschrieben. Und es bedient auch eine andere Anforderung als deine, glaube ich. Aber vielleicht hilft es dir ja schon mal weiter:

    1. $mycObj = t3lib_div::makeInstance('tslib_cObj');
    2. $additionalParams = "&tx_myext_pi1[mymodel]=".$this->getUid();
    3.  
    4. conf = array("parameter" => 48, "useCacheHash" => 1, "additionalParams" => $additionalParams);
    5. $url = $mycObj->typoLink_URL($conf);
    6. return $url;

    Der Code kommt aus einem Domain Model aus einem von mir programmierten getLink-getter. Ich hole mir also einen SEO-optimierten Link zu der Seite mit der Show-Action zu diesem Model.

    Die Seite 48 habe ich in der RealURL-config entsprechend konfiguriert. Und auf Seite 48 ist das zugehörige FE-Plugin platziert:

    1. $TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT']['postVarSets']['_DEFAULT']['mytag'] = array(
    2. array('GETvar' => 'tx_myext_pi1[mymodel]',
    3. 'lookUpTable' => array(
    4. 'table' => 'tx_myext_domain_model_mymodel',
    5. 'id_field' => 'uid',
    6. 'alias_field' => 'name',
    7. 'addWhereClause' => 'AND NOT deleted',
    8. 'useUniqueCache' => true,
    9. 'useUniqueCache_conf' => array(
    10. 'strtolower' => true,
    11. 'spaceCharacter' => '-',
    12. ),
    13. ),
    14. ),
    15. );

    Im Wesentlichen heißt das, dass ich einen Typolink erzeuge, der wiederum durch RealURL geschleust wird bei der Erstellung.

  • 1