Loading...
Navigation überspringen
Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.

Sprechende URLs

Allgemeines

Die URL-Hashes in den URLs in der Fahrzeugsuche, werden hauptsächlich für das Routing verwendet, welche dann den State der Single-Page Fahrzeugsuche festlegen. Dabei kennt die Fahrzeugsuche generell erstmal die States:

  • #list
  • #details
  • #bookmarks
  • #request
  • #research

Diese States werden mit den in den TypoScript-Konstanten konfigurierten URLs verknüpft, um URLs den eigenen Anforderungen anzupassen. Wir gehen davon aus, dass dein Fahrzeugsuche-Plugin auf der Seite https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/ platziert ist. Somit ist das Verhalten wie folgt:

  • Ist in der Konstante {$themes.configuration.extension.fahrzeugsuche.urls.list} der Wert https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/ definiert, dann verwendet die Fahrzeugsuche bspw. für Zurück-Buttons zur Liste die URLhttps://www.typo3-fahrzeugsuche.de/fahrzeugsuche/#list.
  • Ist in der Konstante {$themes.configuration.extension.fahrzeugsuche.urls.details}} der Wert https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/fahrzeug-details/%1$s definiert, dann verwendet die Fahrzeugsuche die URLhttps://www.typo3-fahrzeugsuche.de/fahrzeugsuche/fahrzeug-details/A123456#details-super-modernes-auto
  • etc.

Hinweis:

Bei einer Detail-URL wie https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/fahrzeug-details/A123456#details-super-modernes-auto oder https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/?tx_fahrzeugsuche_fahrzeugsuche[fahrzeug]=%1$s#details-super-modernes-auto wird erst serverseitig der Fahrzeug-Parameter ausgewertet. Ist dieser vorhanden und gültig, wird er via data-fahrzeugsuche-show-fahrzeug-on-initialization Attribut an die Fahrzeugsuche übergeben. Diese öffnet dann beim Laden direkt das angegebene Fahrzeug. Sollte kein gültiger Fahrzeug-Parameter vorhanden sein, so versucht die Fahrzeugsuche das zu ladene Fahrzeug via URL-Hash zu finden.

Für die Konstanten kann zwischen Production- und Development-Environment eine einfache TypoScript-Kondition verwendet werden:

#
# Fahrzeugsuche URLs
themes.configuration.extension.fahrzeugsuche.urls.request = https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/fahrzeug-anfrage/%1$s
themes.configuration.extension.fahrzeugsuche.urls.list = https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/
themes.configuration.extension.fahrzeugsuche.urls.research = https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/suchauftrag/
themes.configuration.extension.fahrzeugsuche.urls.sitemap = https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/fahrzeug-details/%1$s
themes.configuration.extension.fahrzeugsuche.urls.details = https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/fahrzeug-details/%1$s
themes.configuration.extension.fahrzeugsuche.urls.bookmarks = https://www.typo3-fahrzeugsuche.de/fahrzeugsuche/merkzettel/
#
# Local DDEV
[request.getHeaders()['host'][0] == 'fahrzeugsuche.ddev.site']
    themes.configuration.extension.fahrzeugsuche.urls.request = https://fahrzeugsuche.ddev.site/fahrzeugsuche/fahrzeug-anfrage/%1$s
    themes.configuration.extension.fahrzeugsuche.urls.list = https://fahrzeugsuche.ddev.site/fahrzeugsuche/
    themes.configuration.extension.fahrzeugsuche.urls.research = https://fahrzeugsuche.ddev.site/fahrzeugsuche/suchauftrag/
    themes.configuration.extension.fahrzeugsuche.urls.sitemap = https://fahrzeugsuche.ddev.site/fahrzeugsuche/fahrzeug-details/%1$s
    themes.configuration.extension.fahrzeugsuche.urls.details = https://fahrzeugsuche.ddev.site/fahrzeugsuche/fahrzeug-details/%1$s
    themes.configuration.extension.fahrzeugsuche.urls.bookmarks = https://fahrzeugsuche.ddev.site/fahrzeugsuche/merkzettel/
[global]

Des weiteren werden URLs auf klassische Weise via Routes bereitgestellt, was im nächsten Abschnitt behandelt wird.

Slug-Konfiguration (ab TYPO3 9.5)

routeEnhancers:
  PageTypeSuffix:
    type: PageType
    map:
      fahrzeugsuche-sitemap.xml: 1519148087
      fahrzeugsuche.json: 1469968203
  FahrzeugsucheDetailsPlugin:
    type: Extbase
    extension: Fahrzeugsuche
    plugin: Fahrzeugsuche
    routes:
      -
        routePath: '/fahrzeug-details/{fahrzeug_id}'
        _controller: 'Fahrzeugsuche::search'
        _arguments:
          fahrzeug_id: fahrzeug
      -
        routePath: '/fahrzeug-pdf/{account_id}/{fahrzeug_id}'
        _controller: 'Fahrzeugsuche::createPdf'
        _arguments:
          account_id: account
          fahrzeug_id: fahrzeugId
      -
        routePath: '/fahrzeug-bookmarks-pdf/{bookmarks}'
        _controller: 'Fahrzeugsuche::createBookmarksPdf'
        _arguments:
          bookmarks: bookmarks
    defaultController: 'Fahrzeugsuche::search'
    requirements:
      account_id: '^[a-zA-Z0-9].*$'
      fahrzeug_id: '^[a-zA-Z0-9].*$'
      bookmarks: '^[a-zA-Z0-9].*$'

Realurl-Konfiguration (bis TYPO3 9.5)

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array (
    '_DEFAULT' => array (
        'postVarSets' => array (
            '_DEFAULT' => array (
                // EXT:fahrzeugsuche start
                'fahrzeug-details' => array(
                    array(
                        'GETvar' => 'tx_fahrzeugsuche_fahrzeugsuche[fahrzeug]',
                    ),
                ),
                'fahrzeug-pdf' => array(
                    array(
                        'GETvar' => 'tx_fahrzeugsuche_fahrzeugsuche[controller]',
                        'valueMap' => array(),
                        'noMatch' => 'bypass',
                    ),
                    array(
                        'GETvar' => 'tx_fahrzeugsuche_fahrzeugsuche[action]',
                        'valueMap' => array(
                            'pdf' => 'createPdf',
                            'bookmarks-pdf' => 'createBookmarksPdf',
                        ),
                        'noMatch' => 'bypass',
                    ),
                    array(
                        'GETvar' => 'tx_fahrzeugsuche_fahrzeugsuche[account]',
                    ),
                    array(
                        'GETvar' => 'tx_fahrzeugsuche_fahrzeugsuche[fahrzeugId]',
                    ),
                ),
                // EXT:fahrzeugsuche end
            ),
        ),
    ),
);

Kontaktanfrage

Du kannst uns jederzeit kontaktieren

Stop! Playing in the meantime?
Stop! Playing in the meantime?
Stop! Playing in the meantime?

Stop! Playing in the meantime?

Break the highscore

Press Start
Contact request
Screenreader label
Security question
H___________Q4Z______
I_T____8____8_B___6LD
A2W___NUI___8_I______
__P____U____X_1___S6G
__K_________BK6______