Magento 1

Sync Data

Hinzufügen zusätzlicher Produktattribute zu Clerk über die Magento-Erweiterung

Synchronisieren Sie Ihre Magento 1 Produkte, Attribute und Bestelldaten mit Clerk. Dieser Leitfaden beschreibt die Anpassung von Produktdaten, die Auswahl der zu importierenden Produkte, das Ändern der Bildgrößen und das Verwalten der Bestellsynchronisierung.

Bevor Sie Daten synchronisieren, stellen Sie sicher, dass Sie die Clerk-Erweiterung in Ihrem Magento 1 Backend installiert und konfiguriert haben. Siehe die Get Started-Anleitung für Installationshinweise.

Sync einrichten #

Um Ihre Magento 1 Shopdaten mit Clerk zu synchronisieren, müssen Sie die Import-URL in der Clerk-Erweiterung konfigurieren und die Synchronisierung starten.

  1. Kopieren Sie in der Magento-Erweiterung die Import URL für Ihren Shop.
Import URL in settings
  1. Gehen Sie zu my.clerk.io > Data > Configuration und fügen Sie die Import-URL in das Import URL-Feld ein.

  2. Falls Sie Email & Audience verwenden möchten, setzen Sie Collect Emails in der Magento-Erweiterung auf Ja und speichern Sie.

  3. Wählen Sie die Sprache für Ihre Domain, falls zutreffend.

  4. Klicken Sie auf Start Sync und warten Sie, bis die Synchronisierung abgeschlossen ist.

Data sync configuration

Bestellsynchronisierung deaktivieren #

Nachdem die erste Datensynchronisierung erfolgreich abgeschlossen wurde, kann die Bestellsynchronisierung aus Magento1 deaktiviert werden, da das Sales-Tracking der Erweiterung die Funktion übernimmt.

Um die Bestellsynchronisierung zu deaktivieren, gehen Sie in Ihr Magento1-Backend, wählen Sie SYSTEM in der Menüleiste und drücken Sie KONFIGURATION:

System configuration

Wählen Sie unter AKTUELLER KONFIGURATIONSBEREICH die Hauptseite aus (die Seite, die Sie beeinflussen möchten):

Current configuration scope

Klicken Sie dann auf EINSTELLUNGEN unter dem CLERK-Tab in der Seitenleiste links und ändern Sie das Feld neben BESTELLSYNCHRONISIERUNG DEAKTIVIEREN von NEIN auf JA.

Drücken Sie SPEICHERN, um die Änderungen sofort zu übernehmen:

Disable order synchronization

Bildgrößen ändern #

Standardmäßig ruft die Clerk-Erweiterung für Magento Bilder in der Größe 210x210 px ab.

Dies kann in folgender Datei geändert werden:

app->code->community->Clerk->Clerk->Catalog->Product.php

Am Anfang dieser Datei steuern die Variablen $imageHeight und $imageWidth die Höhe und Breite jedes Bildes:

Image size variables

Ändern Sie diese Werte auf die gewünschte Bildgröße und speichern Sie die Datei.

Gehen Sie dann zu my.clerk.io -> Data Sync und führen Sie eine neue Synchronisierung durch, indem Sie auf Start Sync klicken.

Ihre neuen Bilder werden nun synchronisiert.

Produkte für den Import auswählen #

Produkte ohne Lagerbestand anzeigen #

Wenn Sie auch Produkte ohne Lagerbestand in Ihren Clerk-Ergebnissen anzeigen möchten, lässt sich dies einfach im Magento-Backend steuern.

Gehen Sie zunächst zu:

System -> Konfiguration -> CLERK -> Einstellungen

Wählen Sie Ihre Store-Ansicht im linken Menü und gehen Sie zu Clerk-Einstellungen.

Setzen Sie hier Include Out Of Stock Products auf Yes und klicken Sie auf Save Config:

Include out of stock products

Gehen Sie abschließend zu my.clerk.io -> Data und klicken Sie auf Start New Data Sync um alle Produkte zu importieren, einschließlich der nicht vorrätigen.

Erweiterte Änderungen #

In Magento steuert folgende Datei, welche Produkte zu Clerk importiert werden:

app->code->community->Clerk->Clerk->Model->Productpage.php

Die Funktion load($page,$limit) ist verantwortlich für die Steuerung der Kollektion von Produkten, die an Clerk gesendet wird.

Standardmäßig werden nur Produkte mit visibility: both(Catalog, Search), die auch auf Lager sind, importiert.

Dies kann an diesen beiden Stellen geändert werden:

Product collection function

Wenn Sie die von Clerk importierten Produkte ändern, empfehlen wir dringend, ein zusätzliches Attribut hinzuzufügen, das angibt, ob ein Produkt nicht verkäuflich oder sichtbar ist, damit Sie es in Ihrem Design anzeigen und darauf filtern können.

Angenommen, Sie erstellen ein Attribut mit dem Namen is_saleable, das entweder true oder false ist, können Sie es in Designs so verwenden:

{% if product.is_saleable %}
   <div class="in-stock">In Stock</div>
{% else %}
  <div class="not-in-stock">Not In Stock</div>
{% endif %}

Gehen Sie anschließend zu my.clerk.io -> Data und klicken Sie auf Start New Data Sync, um Ihre neuen Daten zu importieren.

Start new data sync

Produktdaten anpassen #

In Magento 1 können Sie über das Magento-Backend oder bei Bedarf auch über die Clerk-Erweiterung im Code benutzerdefinierte Produktattribute hinzufügen.

Einfache Attribute hinzufügen #

Hinweis: Diese Funktion ist erst ab v.4.2.3 verfügbar.

Wenn die Attribute, die Sie senden möchten, bereits als einfache Attribute in Ihrem Magento-Admin vorhanden sind, können sie leicht auf der Extension-Seite hinzugefügt werden.

  1. Gehen Sie in Ihrem Magento-Backend zunächst auf Katalog -> Attribute -> Attribute verwalten

  2. Finden Sie die Attributcodes der Attribute, die Sie hinzufügen möchten:

Manage attributes page
  1. Gehen Sie zu System -> Konfiguration
System configuration
  1. Schreiben Sie unter Clerk -> Einstellungen Ihre Attribute in Additional Fields und klicken Sie auf Save Config:
Additional fields
  1. Nach dem Hinzufügen Ihrer Attribute gehen Sie zu my.clerk.io->Data und klicken Sie oben rechts auf Start New Data Sync.
Start new data sync

Falls die Attribute, die Sie senden möchten, bereits als Teil Ihrer konfigurierbaren/gebündelten Produktdaten im Magento-Admin verfügbar sind, können sie mit der aktuellsten Version Ihres Plug-ins leicht synchronisiert werden.

Sie werden als child_attribute erscheinen, z. B. child_color, child_skus usw.

Child attributes

Attribute per Code hinzufügen #

Falls Ihr Attribut eine Standard-Magento-Funktion verwendet, kann dies direkt in Product.php umgesetzt werden:

app->code->community->Clerk->Clerk->code->Model->Catalog->Product.php

Die Funktion getClerkExportData() baut das Produktobjekt mit allen Attributen:

Get clerk export data function

Sie können dann mit dieser Syntax neue Attribute in die Liste einfügen:

$data->setAttributeName($this->insertMagentoLogic());

wobei setAttributeName den Namen definiert, unter dem es in Clerk erscheinen soll, und insertMagentoLogic(); eine Magento-Logik nutzt, um einen Wert aus dem Produkt zu ziehen.

Benutzerdefinierte Attributfunktionen verwenden #

Manchmal erfordert ein Magento-Attribut eine komplexere Logik als eine einfache Funktion.

In diesem Fall suchen Sie diese Datei:

app->code->community->Clerk->Clerk->Model->Catalog->Productbase.php

In Productbase.php können Sie fortgeschrittene PHP-Funktionen schreiben, um benutzerdefinierte Attribute zu laden.

Productbase.php file

Nach dem Definieren einer Funktion können Sie sie in Product.php wie die bestehenden Funktionen einbinden.

Zum Beispiel:

$data->setAge($this->getAge());

Nach dem Hinzufügen Ihrer Attribute gehen Sie zu my.clerk.io->Data und klicken Sie oben rechts auf Start New Data Sync.

Start new data sync

Die Erweiterung anpassen #

Produktdaten hinzufügen/ändern #

Wenn Sie zusätzliche Attribute für Ihre Produkte hinzufügen oder bestehende ändern möchten, suchen Sie diese Dateien:

app->code->community->Clerk->Clerk->Model->Catalog->Product.php

app->code->community->Clerk->Clerk->Model->Catalog->Productpage.php

Product.php erstellt das Produktmodell und ermöglicht das Hinzufügen von einfachen Attributen.

Productpage.php erlaubt das Erstellen von fortgeschrittener Logik für das Abrufen von Attributen, die dann in Product.php verwendet werden können.

Product and productpage files

Kategoriedaten ändern #

Wenn Sie Kategorienamen umstrukturieren oder bestimmte Kategorien aus Clerk entfernen müssen.

In diesen Fällen suchen Sie diese Datei:

app->code->community->Clerk->Clerk->Model->Catalog->Product.php

Diese Datei behandelt, welche Kategorien einbezogen und welche Daten (id, name, URL und Unterkategorien) für jede Kategorie gesendet werden.

Sie können keine zusätzlichen Daten zu jeder Kategorie hinzufügen, aber Sie können festlegen, was gesendet wird.

Category data handling

Powerstep stylen #

Der Powerstep hat ein Standard-Styling, aber Sie möchten ihn ggf. an Ihre Designs anpassen.

Folgende Dateien werden für das Styling verwendet:

app->design->frontend->base->default->template->clerk->powerpage.phtml

app->design->frontend->base->default->template->clerk->powerpopup.phtml

skin->frontend->base->default->clerk->style.css

powerpage.phtml enthält das HTML für die Seite, powerpopup.phtml für das Popup.

style.css enthält das CSS für alle Teile der Clerk-Erweiterung einschließlich Powerstep.

Sie können diese Dateien nutzen, um das Aussehen des Powersteps zu verändern.

Powerstep styling files

Suchseite anpassen #

Wenn Sie das Layout der Search Page ändern, einen Slider bei keinen Suchergebnissen hinzufügen etc. wollen, suchen Sie diese Datei:

app->design->frontend->base->default->template->clerk->powerpage.phtml

Damit können Sie den Search embedcode und andere Teile der Suchseite verändern.

Search page template

Titel der Live-Suche ändern #

Die in der Live-Search für Produkte und Kategorien angezeigten Titel können in folgender Datei geändert werden:

app->design->frontend->base->default->template->clerk->livesearch.phtml

Hier können Sie einfach Categories und Products in den gewünschten Text übersetzen:

Live search template

Gruppierte Produkte als Varianten #

Standardmäßig verwendet Magento Konfigurierbare Produkte zur Verwaltung von Hauptprodukten und Varianten.

Die Clerk-Erweiterung wurde darauf ausgelegt, da dies die Best-Practice für Magento ist.

Falls Sie Ihre Varianten jedoch mit Hilfe von Grouped Products angelegt haben, funktioniert Ihr Sales-Tracking nicht, da Sie die IDs von Produkten nachverfolgen, die Clerk nicht aus Ihrem Magento-Webshop importiert hat.

Das liegt daran, dass Varianten üblicherweise nicht sichtbar sind.

Clerk kann keine Verbindungen zwischen Produkten erkennen, wenn sie nicht importiert werden:

Grouped products issue

Für Clerk spielt es normalerweise keine Rolle, welche Variante gekauft wurde, solange das “Haupt"-Produkt getrackt wird.

Um dies zu beheben, müssen Sie 2 Dateien in der Erweiterung ändern, damit sie zu Ihrem Setup passen.

Das Sales-Tracking #

Die Datei, die die Sales-Tracking-Daten generiert, ist diese:

app->code->Block->SalesTracking.php

In dieser Datei wird üblicherweise um Zeile 65 folgender Code verwendet, um die ID des gekauften Produkts zu erhalten:

Sales tracking code

Dies muss geändert werden, so dass unabhängig davon, welche Gruppenprodukt-Variante gekauft wurde, immer die ID des Hauptprodukts gesendet wird.

Die importierten Bestellungen #

Dasselbe muss für die bisherigen Bestellungen gemacht werden, damit bekannt ist, welche “Haupt”-Produkte bereits gekauft wurden.

Diese Datei übernimmt das:

app->code->Model->Orderpage.php

Um Zeile 44 in der Funktion orderFormatter($order) wird die Produkt-ID von Magento gesendet:

Order formatter function

Passen Sie dies mit derselben Logik wie beim Sales-Tracking an.

Prüfen, ob Ihre Änderungen funktionieren #

Gehen Sie nun auf my.clerk.io -> Data und klicken Sie auf Start New Data Sync, um die neuesten Daten zu importieren:

Start new data sync

Machen Sie anschließend eine Testbestellung, bei der Sie ein Produkt mit Varianten kaufen.

Gehen Sie danach auf Orders und öffnen Sie die gerade getätigte Bestellung.

Wenn Sie die Hauptprodukte in der Bestellung sehen, inklusive deren Namen und Bild, ist Ihr Code korrekt:

Orders overview

Diese Seite wurde von einer hilfreichen KI übersetzt, daher kann es zu Sprachfehlern kommen. Vielen Dank für Ihr Verständnis.