Export-EulandaArticleToShopify

EulandaXtools — Funktionsreferenz

Export-EulandaArticleToShopify

ÜBERSICHT

Exportiert EULANDA-Artikel als Shopify-Produkte (inkl. Bilder aus DMS).

SYNTAX

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>]

BESCHREIBUNG

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ü).

PARAMETER

-Shop

Type: string

Shopify-Shop-Domain, z.B. 'mein-shop.myshopify.com'.

-Token

Type: string

Admin API Access Token (shpat_...) der Custom App.

-ApiVersion

Type: string

API-Version, z.B. '2025-01'.

-Conn

Geöffnete ADO-Connection zur EULANDA-Datenbank.

-Udl

Type: string

Alternativ: 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: switch

Wenn 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: $true

Wenn 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: string

Pfad 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: switch

Wenn gesetzt, werden keine Bilder hochgeladen.

AUSGABEN

pscustomobject[]

BEISPIELE

# 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')