Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.
Installation
Installiere die Erweiterung mit dem Extension-Manager oder mit composer:
composer req codingms/autoscout
Konfiguration
- Erstelle einen Sys-Ordner, in dem die importierten Daten gespeichert werden sollen.
- Erstelle einen Datensatz vom Typ "Fahrzeugsuche: Connection", setze "source" auf "autoscout24.de".
- Vergib im Feld "ID" einen beliebigen Wert (z. B. "1234"). (Dieses Feld wird benötigt, um eine Verknüpfung zwischen dem Connenction-Datensatz und den Fahrzeugdatensätzen herzustellen.)
- Setze Benutzernamen und Passwort der autoscout24.de API. Diese kannst Du über https://listing-search.api.autoscout24.com/docs/#/authentication_authorization beziehen.
- Optional: Passe die Felder "Query" und "Additional Fields" nach Bedarf an (s. u.).
Importieren
Erstelle eine Planer-Aufgabe vom Typ "Konsolenbefehle ausführen" und wähle "autoscout:import".
Optional kannst Du die ID der Connection angeben von der Du die Daten importieren möchtest. Wenn Du dieses Feld leer lässt, werden alle Daten von Connections vom Typ "autooscout" auf einmal importiert.
Du kannst auch die TYPO3 Konsole verwenden:
vendor/bin/typo3 autoscout:import
Zugriff auf weitere Daten
Einige Daten sind nur im XML verfügbar, nicht in der Datenbank. Diese Daten sind im Knoten "additional" gespeichert, auf diesen kann in Fluid über {fahrzeug.additional}
zugegriffen werden.
Zusätzliche Bilder werden automatisch übernommen.
Um weitere Datenfelder aus AutoScout24 zu übertragen und bis zum Fluid-Template durchzureichen, geh wie folgt vor:
- Im "Connection"-Datensatz das Feld "Query" anpassen und die gewünschten Felder aufnehmen.
- Im "Connection"-Datensatz das Feld "Additional fields" anpassen. Hier wird der Pfad aus der Query angegeben, mit Minuszeichen ("-") als Trenner zwischen den Feldbezeichnern (Beispiel s. u.).
- Im Fluid-Template kann auf die zusätzlichen Felder über
{fahrzeug.additional.BEZEICHNER}
zugegriffen werden, z. B.{fahrzeug.additional.details-location-city}
.
Beispiel: Zugriff auf weitere Bilder
<f:for each="{fahrzeug.additional.images}" as="image">
<h3>Size S</h3>
{image.size-s}<br/>
<f:image src="{image.size-s}"></f:image><br/>
<h3>Size M</h3>
{image.size-m}<br/>
<f:image src="{image.size-m}"></f:image><br/>
<h3>Size L</h3>
{image.size-l}<br/>
<f:image src="{image.size-l}"></f:image><br/>
<h3>Size XL</h3>
{image.size-xl}<br/>
<f:image src="{image.size-xl}"></f:image><br/>
<h3>Size 2XL</h3>
{image.size-2xl}<br/>
<f:image src="{image.size-2xl}"></f:image><br/>
<h3>Size 3XL</h3>
{image.size-3xl}<br/>
<f:image src="{image.size-3xl}"></f:image><br/>
<h3>Size 4XL</h3>
{image.size-4xl}<br/>
<f:image src="{image.size-4xl}"></f:image><br/>
</f:for>
Beispiel: Zugriff auf zusätzliche eigene Felder
Beispiel: "seller" --> "companyName"
Connection-Datensatz: Query
query MyCustomSearch {
search {
listings(metadata: {size: 400}) {
listings {
id
details {
seller {
id
companyName
}
[...]
Connection-Datensatz: Additional fields
details-seller-companyName
Fluid-Template
{fahrzeug.additional.details-seller-companyName}
Fahrzeuge verschiedener Standorte auf unterschiedlichen Seiten anzeigen
Wenn Du Fahrzeuge von verschiedenen Standorten auf unterschiedlichen Seiten anzeigen lassen willst, gehst Du wie folgt vor:
- Lege pro Standort einen Ordner an (z. B. "Fahrzeuge Berlin", "Fahrzeuge München").
- Lege in diesem Ordner eine "Connection" an. Wichtig: Jede Connection muss eine unterschiedliche ID bekommen, z. B. der Ortsname. Es können in allen Connections die gleichen Account-Zugangsdaten verwendet werden.
- Ändere die Query in dem Connection-Datensatz so, dass nur Fahrzeuge des gewünschten Standortes importiert werden (Beispiel s. u.).
- Lege pro Standort eine Seite an, auf der Du das Fahrzeugsuche-Plugin einfügst.
- Erstelle auf dieser Seite ein Erweiterungs-Template und hinterlege in den Konstanten als Container-ID die IDs der zuvor angelegten Ordner:
themes.configuration.container.fahrzeugsuche = 123
. Wenn Du die Fahrzeuge mehrerer Standorte anzeigen lassen willst, setze die IDs der Ordner kommagetrennt ein:themes.configuration.container.fahrzeugsuche = 123,124
Beispiel: Query für Fahrzeuge eines bestimmten Standortes
Beispiel-Query für die PLZ "12345":
query MyCustomSearch {
search {
listings(metadata: {size: 400}, location: { zip: "12345", radius: 1 }) {
listings {
id
details {
[...]