Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Extractors sind der Einstiegspunkt eines jeden Prozesses. Um einen Prozess zu starten, müssen Sie einen Extractor einrichten und können dadurch eine Datenquelle (Doctrine oder CSV) lesen.  

Quellen

Quellen repräsentieren die zu lesende Datenstruktur. Dabei wird die Datenstruktur in brandbox in der Form konfiguriert, die tatsächlich existiert. Man so also einen zu lesenden Datenbaum erstellen und linearisieren. Beispiel:

Codeblock
Artikelgruppe
  '-> Artikel
     '-> Preis 

... wird beispielhaft zu

Codeblock
Name der Artikelgruppe | Artikelname | Preis
Dekoartikel | Kunstblume | 2,0 €
Dekoartikel | Spiegel | 18,0 €
Info

Bei einer Quelle kann ein Filter hinterlegt werden, der es ermöglicht das Suchergebnis auf den relevanten Datenbereich einzuschränken.

Quellen die sich auf ForeignKeys beziehen

Es ist zuätzlich möglich, Inhalte aus ForeignKeys oder EntitySelects zu beziehen. Der Aufbau folgt dabei obigem Beispiel, die Quelle wird jedoch auf der gleichen Ebene verknüpft, wie die Tabelle, in der das Feld existiert. Beispiel:

Codeblock
Artikelgruppe
  '-> Artikel
  '-> Lieferzeiten 

Bei der Konfiguration von Lieferzeiten gibt man das Quell-Feld dann an. In dem hier genannten Beispiel wäre das shopArticleDeliveryTime. 

Statische Quellen

Möchten Sie auf statische Inhalte zugreifen, ist das möglich. Zu diesem Zweck benötigen Sie eine Konfigurationstabelle (Tabellen mit dem Widget-Flag=panel). Statische Quellen werden in den Quellen auf der Hauptebene angegeben. Beispiel:

Codeblock
-> Artikelgruppe
-> Domain (ConfigCmsDomain)

Bei der Konfiguration von Lieferzeiten gibt man das Quell-Feld dann an. In dem hier genannten Beispiel wäre das shopArticleDeliveryTime.  Siehe Verwendung von Quellen

Transformer

Transformer manipulieren nacheinander Daten aus der zuvor im Extraktor definierten Datenquelle. Sie können im selben Prozess Loadern mehrfach verwendet werden. 

...

Aus obigem Beispiel wäre folgende Konfiguration möglich:

...

Quell-Datenbankfelder

Codeblock
$1 = Name der Artikelgruppe
$2 = Artikelname 
$3 = Preis

Variablen

Variablen
Codeblock
title
description = {{ output=$1 }} → {{ php=mb_strimwidth string=$2 start=0 width=10 trim_marker=" ..."}}
price = {{ output=$3 }}
formattedPrice = {{ number=$3 style="currency" decimals=2}}

Verwenden Sie in den Variablen (Platzhalter).

Transformation

Transformation
Codeblock
title
{{description}}{{#gt price 1.2}} ({{formattedPrice}}){{/gt}}

Verwenden Sie in der Transformation Handlebars.

Transformation mit den Werten aus den Quell-Datenbankfeldern

Statt mit den Variablen zu arbeiten, ist es zusätzlich möglich direkt mit den Werten aus dem Quell-Datenbankfeld zu arbeiten. Dazu verwenden Sie ebenfalls die Nummer des Feldes und greifen wie folgt auf den Inhalt zu.

title
Codeblock
{{source1}}

Ziel-Datenbankfeld

Codeblock
Preis-Bezeichnung

Beim Ziel-Datenbankfeld gibt man an, wo der Wert gespeichert werden soll. In diesem Beispeil, die Bezeichnung des Preises.

Helper für die Transformation

Name

Beispiel

gt

{{#gt 2 1}} ja {{else}} nein {{/gt}}

lt

{{#lt 2 1}} ja {{else}} nein {{/lt}}

equal

{{#equal 1 1}} ja {{else}} nein {{/equal}}

notEqual

{{#notEqual 1 1}} ja {{else}} nein {{/notEqual}}

inArray

{{#inArray 1 [1,2,3]}} ja {{else}} nein {{/inArray}}

Mehrsprachigkeit

Im Feldmapping bzw. dessen Transformation, können Sie einfach die Felder der jeweiligen Übersetzung mappen. Greifen Sie dabei auf die Übersetzung des Datentyps, den Sie in der Quelle angegeben haben, zu (bspw. TranslationShopArticle.shopArticleName).   

Events

Event-Klasse

Beschreibung

Brandbox\EtlCore\Manipulate\Doctrine\Lib\Event\OnDoctrineRegisterTransformationHelper

Es können individuelle Helper registriert werden

Loader

Loader sind die Datenausgänge des ETL-Prozesses. Sie können im selben Prozess mehrfach verwendet werden. Im Loader wählen Sie ein Importprofil und steuern dadurch ob Daten angelegt und/oder überschrieben werden sollen. Sie wählen außerdem die Ziel-Datentabelle.