---
title: Datentransformation
description: So verwenden Sie den Skript-Editor, um importierte Datenzeilen in Shopware 6 mit PHP-Skripten und freigegebenen Funktionen umzuwandeln.
---

![](https://firebearstudio.com/blog/wp-content/uploads/2024/10/Data-Trnaformation-via-script-for-Shopware-6-import.jpg)

Mit dem Skript-Editor können Sie importierte Zeilen umwandeln, bevor sie verarbeitet werden. Sie bearbeiten Feldwerte direkt im Import-Workflow über die Variable `$row`.

## Wichtige Funktionen

- **Skripteingabe:** Schreiben Sie Transformationslogik für jede importierte Zeile anhand der Variable `$row`.
- **Freigegebene Funktionen:** Es sind nur zugelassene PHP-Funktionen verfügbar. So können Sie häufige Umwandlungen durchführen, ohne unsicheren Code zu erlauben.

## Erlaubte PHP-Funktionen

| **Funktionsgruppe** | **Funktionen** |
| --- | --- |
| String-Funktionen | strlen, strpos, strtolower, strtoupper, trim, substr, str_replace, explode, implode, htmlspecialchars, ucfirst, lcfirst |
| Hash-Funktionen | md5, sha |
| Array-Funktionen | in_array, count |
| Mathematische Funktionen | abs, round, ceil, floor, max, min, rand, sqrt, pow |
| Datums-/Zeitfunktionen | time, date, strtotime, mktime |
| Funktionen zur Variablenbehandlung | isset, empty |
| JSON-Funktionen | json_encode, json_decode |
| Multibyte-String-Funktionen | mb_ereg_replace, mb_ereg_replace_callback, mb_eregi_replace, mb_split, mb_str_pad, mb_str_split, mb_strcut, mb_strimwidth, mb_stripos, mb_stristr, mb_strlen, mb_strpos, mb_strrchr, mb_strrichr, mb_strripos, mb_strrpos, mb_strstr, mb_strtolower, mb_strtoupper, mb_substr, mb_substr_count |

## Beispielanwendungen

Sie können die Datentransformation nutzen, um:

- zusätzliche `$`-Zeichen aus Herstellerwerten zu entfernen
- Leerzeichen oder Trennzeichen in Optionen zu ersetzen
- Lagerbestände um einen festen Wert zu erhöhen
- Preise zu berechnen, wenn importierte Werte leer sind
- Kommas in Keyword-Feldern durch `|` zu ersetzen
- `meta_title` und `name` zusammenzufügen

## Allgemeines Format für das `$row`-Skript

Die Variable `$row` ist ein assoziatives Array. Jeder Schlüssel steht für eine Spalte aus der Importdatei. Jeder Wert enthält die Zeilendaten für diese Spalte.

### 1. Auf Zeilendaten zugreifen

```php
$manufacturerName = $row['manufacturer_name'];
```

### 2. Zeilendaten ändern

```php
$row['manufacturer_name'] = str_replace('$', '', $row['manufacturer_name']);
```

### 3. Erlaubte PHP-Funktionen verwenden

```php
$row['options'] = strtolower($row['options']);
```

### 4. Bedingte Logik anwenden

```php
if (isset($row['stock']) && $row['stock'] > 0) {
    $row['stock'] += 10;
}
```

### 5. Berechnungen durchführen

```php
if (isset($row['price_groß']) && $row['price_groß'] == 0) {
    $row['price_groß'] = $row['net'] * 1.19;
}
```

### 6. Geänderte Zeile speichern

Sie müssen nichts manuell zurückgeben. Änderungen an `$row` werden während des Imports angewendet.

## Vollständiges Skriptbeispiel

```php
$row['manufacturer_name'] = str_replace('$', '', $row['manufacturer_name']);
$row['options'] = str_replace(';', '|', trim($row['options']));

if (isset($row['stock'])) {
    $row['stock'] += 10;
}

if (isset($row['price_groß']) && $row['price_groß'] == 0) {
    $row['price_groß'] = $row['net'] * 1.19;
}

$row['keywords'] = str_replace(',', '|', $row['keywords']);
$row['meta_title'] = $row['meta_title'] . ' ' . $row['name'];
```

## Wichtige Punkte

- `$row` ist ein assoziatives Array mit importierten Spaltenwerten.
- Sie können Felder mit `$row['column_name']` lesen und ändern.
- Es sind nur freigegebene PHP-Funktionen erlaubt.
- Alle Änderungen werden direkt während des Imports angewendet.
