2017-01-23 12 views
0

Hallo für meine Erweiterungen verwende ich RealUrl fixedPostVars für die Detailansicht ..TYPO3 RealUrl Detailansicht fixedPostVars

'fixedPostVars' => array(
'article' => array(
    array(
     'GETvar' => 'tx_bla_news[action]', 
     'valueMap' => array(
      'show' => '', 
     ), 
     'noMatch' => 'bypass' 
    ), 
    array(
     'GETvar' => 'tx_bla_news[controller]', 
     'valueMap' => array(
      'Article' => '', 
     ), 
     'noMatch' => 'bypass' 
    ), 
    array(
     'GETvar' => 'tx_bla_news[article]', 
     'lookUpTable' => array(
      'table' => 'tx_bla_domain_model_article', 
      'id_field' => 'uid', 
      'alias_field' => 'title', 
      'addWhereClause' => ' AND NOT deleted', 
      'useUniqueCache' => 1, 
      'useUniqueCache_conf' => array(
       'strtolower' => 1, 
       'spaceCharacter' => '-', 
      ), 
      'languageGetVar' => 'L', 
      'languageExceptionUids' => '', 
      'languageField' => 'sys_language_uid', 
      'transOrigPointerField' => 'l10n_parent', 
      'autoUpdate' => 1, 
      'expireDays' => 180, 
      'enable404forInvalidAlias' => 1, 
     ), 
    ), 
), 
'85' => 'article', 

Dies erzeugt eine schöne Detailansicht URL wie https://www.bla.com/article/title

Nun, wenn der Artikel diese URL bearbeitet wird funktioniert nicht mehr beim ersten Treffer und wir müssen zur Listenansicht gehen, um von dort auf sie zu klicken, bevor sie wieder funktioniert.

Ich bekomme dieses Verhalten auf 2 verschiedenen Erweiterungen. Das obige ist ziemlich einfach.

Wie kann ich das beheben? RealUrl 2.15

[EDIT 24. Januar] ===============

Auf einen Datensatz die entsprechenden Einträge für den Datensatz in tx_realurl_urldata Speichern und tx_realurl_uniqalias gelöscht. Wie verhindert man das Verlieren der Einträge beim Speichern ??

Der Wert tx_realurl_uniqalias wird mit einem Zeitstempel versehen.

Wenn die Aktion Teil in

geändert wird
'valueMap' => array(
     'show' => 'show', 
    ), 
    'noMatch' => 'bypass' 

Oder nur in

'valueDefault' => 'show' 

Es funktioniert ok. Aber dann bekomme ich immer eine zusätzliche URL Teil zeigen ..

======== Dank Franske ich es bekommen habe :)

Lösung mit ts zu arbeiten:

[globalVar = GP:tx_bla_news|article > 0] 
     config.defaultGetVars { 
     tx_bla_news { 
      controller = Article 
      action = show 
     } 
    } 
    [global] 
+0

Gibt es irgendwelche Logiken, die die Identifizierung des ursprünglichen Datensatzes ändern? Zum Beispiel wird etwas, das die UID oder den ursprünglichen Datensatz ändert, gelöscht, während ein neuer erstellt wird? –

+0

Nein, die UID bleibt gleich. Es ist eine ziemlich einfache Erweiterung. – Jack70

+0

Was genau funktioniert "URL nicht mehr"? Welche Art von Fehler bekommen Sie? –

Antwort

1

Ihr Problem ist, dass die tx_realurl_urldata gelöscht wird.

Sobald das passiert, kann realurl Ihre URL nicht wiederherstellen. Wenn Sie versuchen, /article/title zu decodieren, denkt es, dass title die Aktion ist, die Sie aufrufen möchten, und die nicht existiert, so erhalten Sie eine 404.

Ich würde vorschlagen, die Aktion und Controller-Teil an das Ende der URL zu verschieben. Oder vielleicht sogar entfernen Sie sie und lösen sie wie https://docs.typo3.org/typo3cms/extensions/news/AdministratorManual/BestPractice/Realurl/Index.html#removing-controller-and-action-arguments-from-url

+0

Danke! Ich habe das Typoskript hinzugefügt. – Jack70

Verwandte Themen