Neu Custom Connector > CategoryController > Attributes - Mapping wird nicht gespeichert

broesHPB

Mitglied
9. Dezember 2020
13
1
Moin,

an Hand der Dokumentation habe ich für Kategorien den CategoryController.php erstellt. Funktioniert soweit.

Im nächsten Schritt möchte ich nun die Attribute der Kategorien ebenfalls speichern und die IDs der Kategorie-Attribute mappen.

Bisher habe ich dazu einfach in der push-Methode die Objekte im übergebenen $model genutzt und für Kategorie-Attribute, ähnlich wie bei der Kategorie selbst, gebrüft ob eine Endpunkt-ID für das Attribut vorhanden ist. Wenn nicht, habe ich sie erzeugt und im Model gesetzt. Genauso wie bei fehlender Endpunkt-ID einer Kategorie.

Meinem Verständnis nach übernimmt dann der PrimaryKeyMapper (aus dem Beispiel der Dokumentation entnommen) die Aufgabe das Mapping für den jeweiligen Typ (Kategorie, Kategorie-Attribut, etc.) in der Mapping-Tabelle zu speichern. Für Kategorien klappt das, für Kategorie-Attribute leider nicht.

Ich habe mir nun viele der Connectoren für Gambio & Co angeschaut, um zu sehen, wie das dort gemacht wird, aber das sind gegenüber der Dokumentation und den darin enthalten Beispielen andere Ansätze.

Was habe ich übersehen, dass das Mapping für die Kategorie-Attribute nicht gespeichert wird? Wird dafür ein eigener Controller benötigt (habe keinen eruieren können)? Muss für Kategorie-Attribute das Mapping von Hand angestoßen werden?

Freundliche Grüße
Hape von Bröös

Hier noch ein paar Eckdaten:
JTL Connector 4.0.10
Connector Tester 1.0.5.6
PHP 8.0.3
MariaDB 10.5.8

Code:
#########
# Request #
#########
{
  "method": "core.connector.features",
  "params": null,
  "jtlrpc": "2.0",
  "id": "3e7fa2006a3645f08589b9b8473a67b4"
}

##########
# Response #
##########
{
  "result": {
    "entities": {
      "Category": {
        "pull": true,
        "push": true,
        "delete": true
      },
      "CategoryAttr": {
        "pull": true,
        "push": true,
        "delete": true
      },
      "CategoryAttrI18n": {
        "pull": true,
        "push": true,
        "delete": true
      },
      "CategoryCustomerGroup": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CategoryI18n": {
        "pull": true,
        "push": true,
        "delete": true
      },
      "CategoryInvisibility": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Checksum": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ConfigGroup": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ConfigGroupI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ConfigItem": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ConfigItemI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ConfigItemPrice": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CrossSelling": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CrossSellingGroup": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CrossSellingGroupI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CrossSellingItem": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Currency": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Customer": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerAttr": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerGroup": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerGroupAttr": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerGroupI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerGroupPackagingQuantity": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrder": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrderAttr": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrderBillingAddress": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrderItem": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrderItemVariation": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrderPaymentInfo": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "CustomerOrderShippingAddress": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "DeliveryNote": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "DeliveryNoteItem": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "DeliveryNoteItemInfo": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "FileDownload": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "FileDownloadI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "FileUpload": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "FileUploadI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "GlobalData": {
        "pull": true,
        "push": false,
        "delete": false
      },
      "Image": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Language": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Manufacturer": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ManufacturerI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "MeasurementUnit": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "MeasurementUnitI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "MediaFile": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "MediaFileAttr": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "MediaFileAttrI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "MediaFileI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "PartsList": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Payment": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Product": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Product2Category": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductAttr": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductAttrI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductConfigGroup": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductFileDownload": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductInvisibility": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductPartsList": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductPrice": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductPriceItem": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductSpecialPrice": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductSpecialPriceItem": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductSpecific": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductStockLevel": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductType": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVarCombination": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariation": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationInvisibility": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationValue": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationValueDependency": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationValueExtraCharge": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationValueI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductVariationValueInvisibility": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ProductWarehouseInfo": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Shipment": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "ShippingClass": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Specific": {
        "pull": false,
        "push": true,
        "delete": false
      },
      "SpecificI18n": {
        "pull": false,
        "push": true,
        "delete": false
      },
      "SpecificValue": {
        "pull": false,
        "push": true,
        "delete": false
      },
      "SpecificValueI18n": {
        "pull": false,
        "push": true,
        "delete": false
      },
      "Statistic": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "StatusChange": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "TaxClass": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "TaxRate": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "TaxZone": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "TaxZoneCountry": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Unit": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "UnitI18n": {
        "pull": false,
        "push": false,
        "delete": false
      },
      "Warehouse": {
        "pull": false,
        "push": false,
        "delete": false
      }
    },
    "flags": {
      "var_combination_child_first": false,
      "product_images_supported": false,
      "category_images_supported": false,
      "manufacturer_images_supported": false,
      "specific_images_supported": false,
      "specific_value_images_supported": false,
      "config_group_images_supported": false,
      "product_variation_value_images_supported": false,
      "variation_products_supported": false,
      "variation_combinations_supported": true,
      "set_articles_supported": false,
      "free_field_supported": false,
      "needs_category_root": false,
      "translated_attributes_supported": true,
      "send_all_acks": false,
      "disable_statistics": false,
      "needs_finish_call": true
    }
  },
  "error": null,
  "jtlrpc": "2.0",
  "id": "3e7fa2006a3645f08589b9b8473a67b4"
}

#########
# Request #
#########
{
  "method": "category.push",
  "params": [
    {
      "id": [
        "",
        1
      ],
      "parentCategoryId": [
        "",
        0
      ],
      "isActive": true,
      "level": 0,
      "sort": 0,
      "attributes": [
        {
          "categoryId": [
            "",
            1
          ],
          "id": [
            "",
            1
          ],
          "isCustomProperty": false,
          "isTranslated": false,
          "i18ns": [
            {
              "categoryAttrId": [
                "",
                1
              ],
              "languageISO": "ger",
              "name": "attribute1",
              "value": "Hallo Frank"
            }
          ]
        },
        {
          "categoryId": [
            "",
            1
          ],
          "id": [
            "",
            2
          ],
          "isCustomProperty": false,
          "isTranslated": false,
          "i18ns": [
            {
              "categoryAttrId": [
                "",
                2
              ],
              "languageISO": "ger",
              "name": "attribute2",
              "value": "Dies ist ein Test"
            }
          ]
        }
      ],
      "customerGroups": [],
      "i18ns": [
        {
          "categoryId": [
            "",
            1
          ],
          "description": "",
          "languageISO": "ger",
          "metaDescription": "",
          "metaKeywords": "",
          "name": "Hardware",
          "titleTag": "",
          "urlPath": ""
        }
      ],
      "invisibilities": []
    },
    {
      "id": [
        "",
        2
      ],
      "parentCategoryId": [
        "",
        1
      ],
      "isActive": true,
      "level": 1,
      "sort": 0,
      "attributes": [],
      "customerGroups": [],
      "i18ns": [
        {
          "categoryId": [
            "",
            2
          ],
          "description": "",
          "languageISO": "ger",
          "metaDescription": "",
          "metaKeywords": "",
          "name": "Apple",
          "titleTag": "",
          "urlPath": ""
        }
      ],
      "invisibilities": []
    }
  ],
  "jtlrpc": "2.0",
  "id": "1784e1cdd79a4310b5d80b228192350f"
}

##########
# Response #
##########
{
  "result": [
    {
      "id": [
        "1b70562e2d3f4405afca09721a1a93f5",
        1
      ],
      "parentCategoryId": [
        "",
        0
      ],
      "isActive": true,
      "level": 0,
      "sort": 0,
      "attributes": [
        {
          "id": [
            "67826c4168e24202ad568e5c70b42364",
            1
          ],
          "isTranslated": false,
          "isCustomProperty": false,
          "i18ns": [
            {
              "languageIso": "de",
              "name": "attribute1",
              "value": "Hallo Frank",
              "languageISO": "ger"
            }
          ]
        },
        {
          "id": [
            "987bd450aef74d54a029ff5285446366",
            2
          ],
          "isTranslated": false,
          "isCustomProperty": false,
          "i18ns": [
            {
              "languageIso": "de",
              "name": "attribute2",
              "value": "Dies ist ein Test",
              "languageISO": "ger"
            }
          ]
        }
      ],
      "customerGroups": [],
      "i18ns": [
        {
          "languageIso": "de",
          "description": "",
          "metaDescription": "",
          "metaKeywords": "",
          "name": "Hardware",
          "titleTag": "",
          "urlPath": "",
          "languageISO": "ger"
        }
      ],
      "invisibilities": []
    },
    {
      "id": [
        "1a28bdd94be140dfbda3e758690f5e2a",
        2
      ],
      "parentCategoryId": [
        "1b70562e2d3f4405afca09721a1a93f5",
        1
      ],
      "isActive": true,
      "level": 1,
      "sort": 0,
      "attributes": [],
      "customerGroups": [],
      "i18ns": [
        {
          "languageIso": "de",
          "description": "",
          "metaDescription": "",
          "metaKeywords": "",
          "name": "Apple",
          "titleTag": "",
          "urlPath": "",
          "languageISO": "ger"
        }
      ],
      "invisibilities": []
    }
  ],
  "error": null,
  "jtlrpc": "2.0",
  "id": "1784e1cdd79a4310b5d80b228192350f"
}

Noch eine andere Sache, die mir aufgefallen ist:

Code:
"languageIso": "de",
"name": "attribute2",
"value": "Dies ist ein Test",
"languageISO": "ger"

Im Response der Push-Aktion wird bei allen Objekten zusätzlich "languageIso": "de" gesetzt. Warum wird das gemacht? Wenn ich mir den Iso ausgeben lasse ist es "de" und so wird es dann auch bei uns in der DB abgespeichert. Aber von der WaWi bzw. vom Connector-Tester wird "ger" angeliefert.
 
Zuletzt bearbeitet:

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
329
Hallo @broesHPB,

bei einem Pull wird durch JTL-Wawi kein ACK für Attribute gesendet. Daher werden auch keine Mappings dafür angelegt. Bei einem Push wiederum sollten Mappings für Attribute erstellt werden, solange der Primary Key Mapper diese Identitätstypen unterstützt.

JTL-Wawi arbeitet mit dem Sprachstandard ISO 639-2b. Der Connector Core 4 wiederum arbeitet der Einfachheit halber mit ISO 639-1 und konvertiert zwischen ISO 639-2b und ISO 639-1. Das für JTL-Wawi relevante Property ist hier "languageISO".
 

broesHPB

Mitglied
9. Dezember 2020
13
1
Hallo @Immanuel,

danke für das Feedback.

Bei einem Push wiederum sollten Mappings für Attribute erstellt werden, solange der Primary Key Mapper diese Identitätstypen unterstützt.

Als Vorlage nutze ich das Beispiel aus der Dokumentation (primary-key-mapper-class.html). Diese wird (ebenfalls wie in der Dokumentation vorgegeben) in der connector-class.html via getPrimaryKeymapper() zur Verfügung gestellt. Die PrimaryKeyMapper-Klasse aus der Dokumentation scheint Kategorie-Attribute
aber nicht zu berücksichtigen. An Hand des Protokolls, wird category.push ausgeführt, demnach müsste Deine Aussage hier zutreffen und ein Mapping erstellt werden (auch für Kategorie-Attribute). Wird es aber leider nicht.

Vielleicht weil die Kategorie-Attribute als Eigenschaft am Kategorie-Objekt hängen und keinen eigenen Controller haben? Vielleicht weil die Controller und die dahinter liegende Logik nach einem bestimmten Schema, z. B. bei Kategorien, die Id (Identity) generisch nutzen und an den PrimaryKeyMapper übergeben. Haben Entitäten, wie Kategorien, aber noch Eigenschaften, wie Attribute, so scheint dies nicht generisch berücksichtigt zu werden? Ich kann hier nur Vermutungen anstellen, da dies alles aus der Dokumentation nicht hervor geht.

Daher würde ich mir wünschen, dass die Dokumentation um ein funktionierendes Beispiel für Attribute bzw. Kategorie-Attribute ergänzt wird, da es für mich aktuell sehr schwer ist nachzuvollziehen oder/und herzuleiten, wie oder warum eben Attribute nicht gemapped werden.

Was bedeutet ACK? Dazu finde ich in der Dokumentation leider nichts.

Nachtrag zu ACK

Hier mal mein "Gedankengang" zur Analyse des Quellcodes.
  • Gedankengang:
    • In \Jtl\Connector\Core\Controller\ConnectorController::ack habe ich jetzt etwas gefunden, das wird laut PhpStormaber nur von ConnectorTest.php aufgerufen.
      • Darin wird auch auf dem Linker die save() Methode aufgerufen (im Linker wird wohl der PrimaryKeyMapper hinterlegt sein).
      • Die Methode ack() war eine Sackgasse.
  • In \Jtl\Connector\Core\Application\Application::handleRequest:723 wird der ConnectorController(der die Methode ack hat) instanziiert
    • In \Jtl\Connector\Core\Application\Application::handleRequest:757 via im Container hinterlegten IdentityLinker mit der Methode linkModel() dann das Mapping erzeugt.
    • Je nachdem was in Application::prepareContainer() gesetzt wird, in meinem Fall der PrimaryKeyMapper aus meiner Connector.php, wird dieser dann dafür genutzt.
  • In \Jtl\Connector\Core\Linker\IdentityLinker::linkModel werden dann über den Model-Typ dessen Properties abgeklappert.
    • Alle die dem Typ AbstractDataModel entsprechen werden dann rekursiv erneut an linkModel übergeben. Alle vom Typ Identityan linkIdentity.
      • Demnach müsste bei Kategorien die Eigenschaft für Attribute eigentlich berücksichtigt werden.
  • Debug-Ergebnisse:
    • In \Jtl\Connector\Core\Linker\IdentityLinker::linkModel:109 wird abgefragt ob die Eigenschaft vom Typ Identity und im Model die Kombination aus Modelname (z. B. TranslatableAttribute) und Eigenschaftsname (z. B. id) hinterlegt und damit erlaubt ist.
    • In Jtl\Connector\Core\Definition\Model.php:111 in $propertyMappings sind dafür die Kombinationen hinterlegt.
      • Für CATEGORY_ATTRIBUTE ist aber kein Property-Mapping vorhanden.
  • Problem-Analyse:
    • Category->getAttributes() liefert ein Array mit TranslatableAttribute Entitäten
    • In \Jtl\Connector\Core\Definition\Model::CATEGORY_ATTRIBUTE ist statt TranslatableAttribute der Typ CategoryAttr hinterlegt.
      • (CategoryAttr gibt es im Ordner jtl/connector/src/Model nicht)
    • In \Jtl\Connector\Core\Definition\Model::$propertyMappings fehlt für \Jtl\Connector\Core\Definition\Model::CATEGORY_ATTRIBUTE das Mapping.
    • Passt man dies an, funktioniert das Mapping so, wie es soll.
      • Option A:
        • Model für CategoryAttr erstellen (leitet von TranslatableAttribute ab).
        • Überall die Typen anpassen, wo Kategorie-Attribute zurückgegeben werden oder als Parameter entgegen genommen bzw. gespeichert werden.
        • Eigenschaften-Mapping $propertyMappings ergänzen.
        • Sollte dann Typsicher sein.
      • Option Quickhack (schmutzig):
        • Statt CategoryAttr den Wert TranslatableAttribute für \Jtl\Connector\Core\Definition\Model::CATEGORY_ATTRIBUTE hinterlegen.
        • Eigenschaften-Mapping $propertyMappings ergänzen.
        • Ist nicht zwingend Typsicher.
JTL-Wawi arbeitet mit dem Sprachstandard ISO 639-2b. Der Connector Core 4 wiederum arbeitet der Einfachheit halber mit ISO 639-1 und konvertiert zwischen ISO 639-2b und ISO 639-1. Das für JTL-Wawi relevante Property ist hier "languageISO".

Okay. Ich nutze die Object-Methoden getLanguageIso() und setLanguageIso(), die ISO 639-1 liefern/setzen. Mich hatte es nur gewundert, dass in der RPC-Antwort beide Varianten (lediglich durch Groß-Klein-Schreibung unterschieden) zurück gesendet werden, wenn die WaWi ISO 639-1 nicht interpretiert.

Freundliche Grüße
Hape von Bröös
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Immanuel

Immanuel

Gesperrter Benutzer
24. August 2016
1.542
329
Danke für deine Analyse Hape. Du hast vollkommen recht, das Mapping von Translatable Attributes funktioniert so nicht. Da es an zwei Stellen Translatable Attributes gibt, müssten auch diese unabhängig voneinander mapbar sein. Um das Problem zu lösen bleibt nur Option A, dann aber sowohl für Kategorie- als auch Artikel-Attribute. Auch sollte das Naming angepasst werden (ProductAttr => ProductAttribute).
 
  • Gefällt mir
Reaktionen: broesHPB

broesHPB

Mitglied
9. Dezember 2020
13
1
Hallo @Immanuel ,

danke für die Anpassungen und für das Involvieren.

Werde morgen das Composer-Repo upgraden und es auf die neuen Typen umstellen (was ich nun auch sehr viel verständlicher finde).

Insbesondere für die Doku würde ich mir noch wünschen, dass es dazu ein Beispiel gibt, wie man nun solche Attribute behandelt, da sie ja einen Sonderfall darstellen und keinen eigenen Controller haben, aber Teil eines Controllers sind, was man aber wissen muss (die Doku aber nicht darauf hinweist).

Freundliche Grüße
Hape von Bröös
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu custom.css Versionierung / Cache Problem? Technische Fragen zu Plugins und Templates 5
Neu Custom Template für Custom Artikel mit Plugin? Plugins für JTL-Shop 0
Neu ebay- Angebote-laufende Angebote: Fehler beim Laden der Daten, der mehrteilige Bezeichner "Custom-fWawiArtikelpreisBrutto" konnte nicht gebunden werde JTL-Wawi - Fehler und Bugs 2
Custom css für Galerie-Bilder Einrichtung JTL-Shop5 3
Neu PrestaShop Connector für Prestashop 8 mit PHP 8.2 wird nicht unterstützt PrestaShop-Connector 0
Neu Passenden WooCommerce Connector zu meinem WordPress WooCommerce-Connector 7
Neu JTL Shopify Connector und Billbee frage Shopify-Connector 0
Neu JTL Connector zu SW6 auch als Testumgebung möglich ? Onlineshop-Anbindung 3
Neu Shopify Erhöhung der Varianten von 100 auf 2000 - Connector App Problem Shopify-Connector 1
Neu Greyhound JTL-Connector funktioniert nach Update auf 1.8.12 nicht mehr richtig Technische Fragen zu den JTL-Connectoren 5
Neu Connector anlegen in Verkaufskanälen nicht möglich, Verbindungstest schlägt fehl Shopware-Connector 2
Neu JTL Connector Woocomerce für PHP Version 7.4 WooCommerce-Connector 2
Fehler beim Datenbank - JTL WAWI Connector WooCommerce-Connector 1
Neu Woocommerce mit JTL Connector "Die Shop-URL verweist nicht auf einen gültigen Shop" WooCommerce-Connector 4
JTL WAWI 1.8.11.1 / JTL CONNECTOR / Shopware 6 JTL-Wawi 1.8 4
Neu Connector für php 8.3 / Prestashop 8.1.3 PrestaShop-Connector 3
Neu Migration von eCommerce-Integrator auf JTL Connector - Software 5 Shop Onlineshop-Anbindung 2
Neu JTL Connector WooCommerce überträgt keine Bestellungen mehr WooCommerce-Connector 3
Neu JTL Connector Woocommerce nicht möglich WooCommerce-Connector 9
Neu Woran kann es liegen, dass ein neu erstellter Connector-Verkaufskanal nicht in der Statusliste des Workers vorkommt? Shopify-Connector 2
Neu Connector überträgt keine Bilder Shopify-Connector 1
Neu JTL Connector Plugin Aktivierunf [Fehlermeldung] WooCommerce-Connector 1
Neu Shopify Connector Abgleich endet nicht Shopify-Connector 6
Neu Shopware 6 Connector = Mangelhaftes Produkt! Shopware-Connector 0
Neu WooCommerce Connector - Keine Produkte in link_product Tabelle WooCommerce-Connector 0
Connector übernimmt nicht alle Bestellungen WooCommerce-Connector 0
Wichtig 👉 Wichtiger Hinweis: Abkündigungsfristen JTL-Wawi 1.5 / MSQL-Server 2014 / JTL-POS für Android 7 / JTL-Connector für Shopware 5 News, Events und Umfragen 2
Neu Keine Übertragung der Preise mehr seit Connector Update von 1.41.2 auf 1.42.0 WooCommerce-Connector 9
Neu JTL WooCommerce-Connector leert bei Artikelupdate Inhalte der Felder WooCommerce-Connector 3
Neu JTL-Connector übernimmt den Bestellstatus in Woocommerce nicht WooCommerce-Connector 2
Neu Update auf Connector 2.2.5.3 stürzt mich ins Chaos Shopware-Connector 4
Neu Probleme mit Connector und Shopify URL (Shop noch nicht online) Shopify-Connector 3

Ähnliche Themen