Anpassen von Produktdaten in Magento 2

Hinzufügen von zusätzlichen Produktattributen zu Clerk.io durch die Magento Extension

Senden von einfachen Attributen aus dem Magento 2 Admin

Wenn die Attribute, die Sie versenden möchten, bereits als einfache Attribute in Ihrem Magento 2-Admin verfügbar sind, können Sie sie einfach auf der Seite Erweiterung hinzufügen.

1. Gehen Sie zunächst zu Stores -> Produkt

Hier sehen Sie alle verfügbaren Attribute in Ihrem Shop. Suchen Sie die Attributcodes derjenigen, die Sie an Clerk.io: senden möchten.

2. Vergewissern Sie sich, dass Ihr Attribut sowohl Sichtbar ist als auch in Produktauflistungen verwendet wird. Sie können dies überprüfen, indem Sie auf das Attribut klicken und zu Storefront-Eigenschaften: gehen.

3. Gehen Sie zu Stores->Konfiguration->Clerk->Konfiguration

4. Geben Sie unter Synchronisation -> Zusätzliche Felder die Attributcodes durch Kommas getrennt ein :

5. Klicken Sie in der rechten Ecke auf Konfiguration speichern.

Wenn Sie die Clerk-Erweiterung nicht finden können, vergewissern Sie sich, dass Sie den richtigen Store ausgewählt haben, indem Sie oben links auf " Scope" klicken.

Screenshot 2021-09-16 at 12.46.04

6. Gehen Sie zu System -> Cache-Verwaltung

7. Löschen Sie hier die verschiedenen Caches:

8. Nachdem Sie Ihre Attribute implementiert haben, gehen Sie zu my.clerk.io->Daten und klicken Sie in der oberen rechten Ecke auf Neue Datensynchronisierung starten.

Wenn die Attribute, die Sie senden möchten, bereits als Teil Ihrer konfigurierbaren/gruppierten Produktdaten in Ihrem Magento2-Admin vorhanden sind, können sie einfach mit der neuesten Version Ihres Plug-ins synchronisiert werden. Sie erscheinen dann als child_attribute, z. B. child_color, child_skus usw.

Senden von benutzerdefinierten Attributen

Benutzerdefinierte Attribute können über die Erweiterung in FTP hinzugefügt werden.

Diese Datei behandelt die Produktattribute:

Lieferant->Kaufmann->Magento2->Modell->Adapter->Produkt.php_

Jedes Attribut hat seinen eigenen fieldHandler, in der Funktion addFieldHandlers()

Fügen Sie hier einfach Ihr Attribut mit der folgenden Syntax hinzu:

$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function($item) {
   return MAGENTO2_LOGIC;
});

Dabei definiert CLERK_ATTRIBUTE_NAME den Namen, den das Attribut in Clerk.io haben soll, und MAGENTO2_LOGIC ist der Code zum Abrufen des Attributs aus Magento 2.

Importieren einfacher Produktdaten für konfigurierbare Produkte

Der folgende Code kann verwendet werden, um beliebige Daten von einfachen Produkten innerhalb eines konfigurierbaren Produkts zu holen, so dass Clerk.io diese als Array von Daten empfangen kann.

Dies ist besonders nützlich für Attribute wie SKUs, Größen oder Farben, um diese in Clerk.io durchsuchbar und filterbar zu machen.

Wie das obige Skript für benutzerdefinierte Attribute können Produktdaten für konfigurierbare Produkte über die Erweiterung in FTP hinzugefügt werden.

Diese Datei behandelt die Produktattribute:

Anbieter->Kaufmann->magento2->Modell->Adapter->Produkt.php

Fügen Sie den folgenden Code in die Datei ein:

{%raw%}
$this->addFieldHandler('CLERK_ATTRIBUTE_NAME', function ($item) {
 $simple_products_array = [];
 if ($item->getTypeId() === Configurable::TYPE_CODE) {
  $simple_products = $item->getTypeInstance()->getUsedProducts($item);
   foreach ($simple_products as $product) {
    array_push($simple_products_array, $product->getATTRIBUTE_TEXT());
         }
       }
  return array_values(array_unique($simple_products_array));
            });
{%endraw%}

Dabei definiert CLERK_ATTRIBUTE_NAME den Namen, den das Attribut in Clerk.io haben soll, und getATTRIBUTE_TEXT ist die get-Funktion mit dem Text für das aufgerufene Attribut, zum Beispiel $product->getSKU().

Zum Schluss fügen Sie Ihre neuen Attribute in die Clerk.io Erweiterung im Magento 2 Admin ein, unter Synchronisation -> Zusätzliche Felder (wie unter Punkt 4 erklärt)

Nachdem Sie Ihre Attribute implementiert haben, gehen Sie zu my.clerk.io->Data und klicken Sie auf Start New Data Sync in der oberen rechten Ecke.