EulandaXtools — Funktionsreferenz
Exportiert EULANDA-Artikel als Shopify-Produkte (inkl. Bilder aus DMS).
Export-EulandaArticleToShopify [-Shop] <string> [-Token] <string> [-ApiVersion] <string> [[-Udl]
<string>] [[-ArticleNo] <string[]>] [[-BreadcrumbPath] <string[]>] [[-BreadcrumbRoot] <string>]
[-SyncCollections] [[-ImageFormats] <string[]>] [[-ImageCachePath] <string>] [-SkipImages]
[[-AdoptExisting] <bool>] [-UseShopExportDate] [-SetShopExportDate] [<CommonParameters>]Orchestrierungsfunktion, die für eine oder mehrere Artikelnummern folgende Schritte ausführt:
1. Artikel per Export-ArticleXml aus EULANDA exportieren
2. XML parsen und Felder mappen (ARTNUMMER -> SKU, IDENT -> title, LANGTEXT -> body_html, VKBRUTTO -> price, GEWICHT -> weight, GTIN -> barcode)
3. Produkt in Shopify anlegen oder aktualisieren (Set-ShopifyProduct)
4. Bilder aus DMS laden und hochladen (Set-ShopifyProductImage)
Die DMS-Bilddateien werden pro Artikel über Get-DmsFolderArticle ermittelt und mit der Namenskonvention {ArtNr}-1.{Format}, {ArtNr}-2.{Format} etc. gesucht. Die Suchreihenfolge der Bildformate ist über -ImageFormats konfigurierbar.
Optional können Artikel statt über -ArticleNo auch über -BreadcrumbPath per Merkmalbaum-Pfad selektiert werden. Mit -SyncCollections werden die Merkmalbaum-Zuordnungen als Shopify Custom Collections angelegt und die Produkte den passenden Collections zugewiesen.
Collection-Mechanismus: Der EULANDA-Merkmalbaum wird flach unter einem Hauptmerkmal (z.B. '\Shop') angelegt. Jeder Knoten direkt darunter wird eine eigene Shopify Custom Collection. Shopify unterstützt keine hierarchischen Collections. Der Sonderfall 'Startseite' erhält das Handle 'frontpage' (Shopify Featured Collection für die Homepage). Die Storefront-Navigation (Menüs) muss einmalig manuell im Shopify-Admin eingerichtet werden (Inhalte > Menüs > Hauptmenü).
-Shop
Type: stringShopify-Shop-Domain, z.B. 'mein-shop.myshopify.com'.
-Token
Type: stringAdmin API Access Token (shpat_...) der Custom App.
-ApiVersion
Type: stringAPI-Version, z.B. '2025-01'.
-Conn
Geöffnete ADO-Connection zur EULANDA-Datenbank.
-Udl
Type: stringAlternativ: Pfad zur UDL-Datei. Wird verwendet, wenn kein Conn übergeben wird.
-ArticleNo
Type: string[]Eine oder mehrere Artikelnummern (ArtNummer), die exportiert werden sollen. Optional, wenn -BreadcrumbPath angegeben ist.
-BreadcrumbPath
Type: string[]Ein oder mehrere Merkmalbaum-Pfade zur Artikel-Selektion, z.B. '\Shop'. Alle Artikel unter den angegebenen Pfaden werden exportiert. Alternative zu -ArticleNo.
-BreadcrumbRoot
Type: string
Default: '\Shop'Wurzel-Knoten für den Breadcrumb-Export im XML. Standard: '\Shop'.
-SyncCollections
Type: switchWenn gesetzt, werden Merkmalbaum-Zuordnungen als Shopify Custom Collections angelegt und Produkte den passenden Collections zugewiesen.
-ImageFormats
Type: string[]
Default: @('jpg'Reihenfolge der Bildformate für die DMS-Suche. Das erste gefundene Format wird verwendet. Standard: @('jpg', 'png') — JPEG hat Priorität, PNG als Fallback.
-AdoptExisting
Type: bool
Default: $trueWenn gesetzt, werden bestehende Shopify-Produkte ohne eulanda.source-Metafield übernommen (aktualisiert und markiert). Ohne diesen Switch werden fremde Produkte (ohne eulanda.source-Metafield) übersprungen. Standard: aktiviert (abwärtskompatibel).
-ImageCachePath
Type: stringPfad zur JSON-Cache-Datei für hash-basierte Bildsynchronisation. Wenn angegeben, werden nur geänderte/neue Bilder hochgeladen und im DMS gelöschte Bilder aus Shopify entfernt (Smart-Sync). Wenn leer, werden alle Bilder bei jedem Lauf hochgeladen (bisheriges Verhalten).
-SkipImages
Type: switchWenn gesetzt, werden keine Bilder hochgeladen.
pscustomobject[]# Drei Artikel exportieren
Export-EulandaArticleToShopify -Shop 'mein-shop.myshopify.com' `
-Token 'shpat_abc123' -ApiVersion '2025-01' `
-Udl 'C:\EulandaXtools\Eulanda_1.udl' `
-ArticleNo @('1100', '2100', '3100')# Einzelner Artikel ohne Bilder
Export-EulandaArticleToShopify -Shop $shop -Token $token `
-ApiVersion '2025-01' -Conn $conn -ArticleNo '1100' -SkipImages# Alle Artikel unter \Shop per Breadcrumb mit Collection-Sync
Export-EulandaArticleToShopify -Shop $shop -Token $token `
-ApiVersion '2025-01' -Conn $conn `
-BreadcrumbPath @('\Shop') -SyncCollections# PNG bevorzugt statt JPEG
Export-EulandaArticleToShopify -Shop $shop -Token $token `
-ApiVersion '2025-01' -Conn $conn -ArticleNo '1100' `
-ImageFormats @('png', 'jpg')