# Artikel

Wie Artikel in den Shop kommen: Freigabe, Texte, Bilder, Preise, Bestand, Gruppen und Varianten.

# Artikel im Shop veröffentlichen

Ein Artikel erscheint im Shop, sobald er freigegeben ist und die nötigen Angaben
enthält. Beides wird in der Artikelmaske gepflegt, im Shopify-Adminbereich ist nichts
zu tun.

## Freigeben

Das bei der Einrichtung festgelegte **ShopAktiv-Feld** in der Artikelmaske setzen
(unter **Shopify → Einstellungen → Artikel**). Beim nächsten Lauf der Aufgabe
*Artikel exportieren (geänderte)* geht der Artikel in den Shop.

<!-- TODO Screenshot: images/artikel-kennzeichen.png -->

## Der Status im Shop

Shopify kennt keinen einfachen Aktiv-Haken, sondern einen Status. FINN.ghost setzt ihn
so:

| Status im Shop | Wann                                                          |
| -------------- | ------------------------------------------------------------- |
| Aktiv          | freigegeben und nicht inaktiv                                  |
| Archiviert     | Freigabe entfernt oder Artikel inaktiv                          |
| Entwurf        | neu angelegt, bei aktivem *Neue Artikel als Entwurf hochladen*   |
| Nicht gelistet | Kennzeichen aus *Kennzeichen Artikel als 'Nicht gelistet'* gesetzt |

<p class="callout info">Ein Artikel wird also nie gelöscht, sondern archiviert. Bestellungen behalten damit ihre Verknüpfung, und die Adresse der Produktseite bleibt gültig.</p>

### Neue Artikel als Entwurf hochladen

Neu angelegte Produkte landen als Entwurf im Shop und sind erst sichtbar, wenn sie im
Adminbereich freigegeben werden. Das gibt Gelegenheit, Texte und Bilder redaktionell zu
prüfen.

<p class="callout warning">Solange ein Produkt im Entwurfsstatus steht, überspringt die Aufgabe <em>Bestand exportieren</em> es vollständig. Der Bestand kommt erst, wenn das Produkt aus dem Entwurf geholt wurde.</p>

## Voraussetzungen

Fehlt eine dieser Angaben, wird der Artikel übersprungen und im Protokoll vermerkt:

| Voraussetzung          | Hinweis                                                          |
| ---------------------- | ---------------------------------------------------------------- |
| Bezeichnung            | darf nicht leer sein                                              |
| Verkaufspreis          | in der eingestellten Preisgruppe                                   |
| Artikelgruppe          | außer bei aktivem *Artikelgruppen ignorieren*                       |
| nicht inaktiv          | inaktive Artikel gehen nicht in den Shop                            |

<p class="callout info">Ist der Artikel bereits im Shop und fehlt später eine dieser Angaben, wird er nicht übersprungen, sondern archiviert. So verschwinden ausgelaufene Artikel zuverlässig aus der Storefront.</p>

Für Varianten gilt eine Erleichterung: Eine Variante ohne Preis wird übersprungen, der
Hauptartikel mit den übrigen Varianten aber trotzdem angelegt.

## Wann die Übertragung läuft

| Aufgabe                                      | Umfang                                                     |
| -------------------------------------------- | ---------------------------------------------------------- |
| Artikel exportieren (geänderte)               | Artikel, die seit dem letzten Lauf angelegt oder geändert wurden |
| Artikel exportieren (geänderte, ohne Bilder)  | dasselbe ohne Bildübertragung                                |
| Artikel exportieren (alle)                    | alle freigegebenen Artikel, mit Bildern                       |
| Artikel exportieren (alle, ohne Bilder)       | alle freigegebenen Artikel, ohne Bildübertragung               |

<p class="callout warning">Als geändert gilt ein Artikel, wenn sich der Artikelstamm geändert hat. Wird nur ein Preis oder eine Fremdbezeichnung angepasst, ohne den Artikel selbst anzufassen, erkennt der Änderungslauf das nicht. Deshalb gehören die nächtlichen Läufe <em>Preise exportieren</em> und <em>Artikel exportieren (alle, ohne Bilder)</em> in den Zeitplan.</p>

Wird eine Variante geändert, überträgt die Schnittstelle automatisch den
**Hauptartikel** mit allen Varianten — einzelne Varianten lassen sich in Shopify nicht
für sich exportieren.

## Bestehende Artikel schonen

### Nur neue Artikel hochladen

Bestehende Produkte werden nur noch im Status angefasst, alles andere bleibt
unverändert. Der Weg für Shops, in denen Texte und Bilder vollständig im
Shopify-Adminbereich gepflegt werden.

### Titel dennoch aktualisieren

Ergänzt die vorige Einstellung: Der Titel und die Übersetzungen werden trotzdem
nachgezogen.

## Nicht unterstützt

<p class="callout danger">Shopify erlaubt höchstens <strong>drei</strong> Merkmale je Produkt. Ein Variantenartikel mit mehr als drei Merkmalen wird mit einer Meldung abgewiesen und gar nicht angelegt.</p>

## Weiter

- [Bezeichnungen, Texte und Bilder](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/bezeichnungen-texte-und-bilder)
- [Preise](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/preise)
- [Bestand und Verfügbarkeit](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/bestand-und-verfugbarkeit)

# Bezeichnungen, Texte und Bilder

## Titel und Beschreibung

| Im Shop            | Aus der SelectLine                                   |
| ------------------ | ---------------------------------------------------- |
| Titel              | Artikelbezeichnung                                     |
| Beschreibung       | Artikeltext, HTML bevorzugt                             |
| Anbieter           | Feld aus *Anbieterfeld*, Standard: Lieferantenbezeichnung |
| Seitentitel (SEO)  | Extrafeld `_METATITLE`                                  |
| Meta-Beschreibung  | Extrafeld `_METADESCRIPTION`                            |

### Zusatz hinter Titel

Hängt den Zusatz aus der Artikelmaske mit einem Gedankenstrich an den Titel an.

### Anbieterfeld

Bestimmt, welches Artikelfeld als Anbieter in den Shop geht. Voreingestellt ist die
Bezeichnung des Standardlieferanten.

## Übersetzungen

Titel und Beschreibung werden in die Shop-Sprachen übersetzt, sofern die
Fremdbezeichnungen zum Artikel gepflegt sind und die
[Sprachzuordnung](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/sprachen-und-markte) steht.

## Tags

Über Extrafelder lassen sich Shopify-Tags setzen. Beginnt der Name eines Extrafeldes
mit `_SFYTAG`, gilt der Rest des Namens als Tag: Aus dem Kennzeichen `_SFYTAGNeuheit`
wird der Tag `Neuheit`, wenn das Kennzeichen gesetzt ist.

<p class="callout info">Die Tags werden zugefügt und entfernt, ohne andere Tags anzutasten. Im Shop von Hand gepflegte Tags bleiben also erhalten.</p>

## Bilder

Die Artikelbilder aus der SelectLine werden in den Shop geladen, in der Reihenfolge aus
der SelectLine.

<!-- TODO Screenshot: images/artikel-bilder-storefront.png -->

Bei einem Artikel **ohne** Varianten hängen die Bilder am Produkt, das erste zusätzlich
an der Variante. Bei einem **Variantenartikel** bekommt jede Variante ihr eigenes erstes
Bild — aus den Bildern der jeweiligen Variantenartikelnummer —, und die Bilder des
Hauptartikels kommen als Produktbilder dazu.

### Maximale Bildgröße

Bilder werden vor dem Hochladen auf diese Kantenlänge verkleinert, voreingestellt 1920
Pixel. Kleinere Bilder werden nicht vergrößert.

### Nur Bilder exportieren, die mit 'Export' gekennzeichnet sind

Berücksichtigt nur Bilder, die in der SelectLine das entsprechende Kennzeichen tragen.
So lässt sich steuern, welche Bilder in den Shop gehören und welche nur intern sind.

<p class="callout warning">Bei jeder Bildübertragung werden die vorhandenen Bilder des Produkts zuerst <strong>gelöscht</strong> und dann neu geladen. Bilder, die im Shopify-Adminbereich von Hand ergänzt wurden, verschwinden dabei. Und es ist der Grund, warum ein Vollexport mit Bildern deutlich länger dauert als einer ohne — deshalb gibt es die Aufgaben ohne Bildübertragung.</p>

## Dateien zum Artikel

Über die Aufgabe *Dateien aktualisieren* lassen sich Journaldateien — Datenblätter,
Anleitungen, Zertifikate — an die Produkte hängen.

### Kategorie der Journale für Dateiupload

Legt fest, aus welchen Journalkategorien die Dateien kommen. Je Kategorie entsteht am
Produkt ein eigenes Metafeld, sodass sie im Theme getrennt ausgegeben werden können.

Erkannt werden die üblichen Dateitypen — PDF, Bilder, Video, Audio, Office-Dokumente,
CSV, ZIP. Alles andere wird als allgemeine Datei hochgeladen.

<p class="callout info">Eine Datei wird über ihren Inhalt erkannt und nur einmal hochgeladen, auch wenn sie an vielen Artikeln hängt. Wird sie in der SelectLine ausgetauscht, entsteht eine neue Datei im Shop; die alte bleibt in der Dateiverwaltung liegen und kann dort aufgeräumt werden.</p>

## Weiter

- [Sachmerkmale und Extrafelder](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/sachmerkmale-und-extrafelder)
- [Preise](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/preise)

# Preise

Shopify führt je Variante einen Preis und optional einen Streichpreis. Zusätzlich kann
je Markt-Katalog ein eigener Preis hinterlegt werden. FINN.ghost füllt beides aus
SelectLine-Preisgruppen.

## Der Standardpreis

### Preisgruppe

Bestimmt, welche Preisgruppe der SelectLine als Shop-Preis erscheint. Zur Auswahl
stehen die Preise aus der Artikelmaske.

Ist in der Artikelmaske ein **Preisverweis** eingetragen, werden die Preise des
verwiesenen Artikels verwendet.

## Aktionspreise und Streichpreis

Findet FINN.ghost zum heutigen Tag einen Aktionspreis, wird dieser als Preis gesetzt
und der reguläre Preis als **Streichpreis**. Im Shop erscheint er durchgestrichen neben
dem Aktionspreis.

Läuft die Aktion aus, setzt der nächste Preislauf den regulären Preis und entfernt den
Streichpreis.

<p class="callout warning">Aktionszeiträume laufen ohne Zutun ab, ohne dass sich der Artikel ändert. Der Änderungslauf bemerkt das deshalb nicht. Die Aufgabe <em>Preise exportieren</em> muss also regelmäßig laufen, sonst bleibt ein abgelaufener Aktionspreis im Shop stehen.</p>

## Brutto oder netto

Standardmäßig wird der Preis so übertragen, dass im Shop **Bruttopreise** stehen: Ist
die Preisgruppe eine Nettopreisgruppe, rechnet FINN.ghost mit dem gültigen Steuersatz
des Artikels hoch.

### Nettopreise

Kehrt das um: Es werden Nettopreise übertragen. Der Weg für reine B2B-Shops, in denen
Shopify die Steuer selbst aufschlägt.

### Steuerpflicht

Hat der Artikel einen gültigen Steuerschlüssel, wird die Variante im Shop als
steuerpflichtig markiert. Über die Einstellung **Steuer erzwingen** lässt sich das auch
ohne Steuerschlüssel erreichen.

## Katalogpreise für Märkte

Je Markt-Katalog lassen sich Preisgruppe und Währung festlegen. Die Aufgabe *Preise
exportieren* schreibt daraufhin den Preis in die Preisliste und veröffentlicht den
Artikel im zugehörigen Vertriebskanal.

Näheres unter [Sprachen und Märkte](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/sprachen-und-markte).

## Einkaufspreis

FINN.ghost überträgt zusätzlich die Kosten je Artikel, damit Shopify die Marge
auswerten kann.

| Einstellung                | Quelle                                            |
| -------------------------- | ------------------------------------------------- |
| *Preisgruppe für Kosten*    | Preis aus der angegebenen Preisgruppe               |
| ohne diese Einstellung      | letzter Einkaufspreis aus der Kalkulation            |

## Preise beim Bestellimport

### Artikelpreise aus SelectLine verwenden

Normalerweise übernimmt der Beleg die Preise aus der Bestellung, damit Shop und Beleg
denselben Betrag zeigen. Mit dieser Einstellung rechnet stattdessen die SelectLine die
Positionspreise selbst.

<p class="callout warning">Ist die Einstellung aus, setzt der Import zusätzlich den Belegrabatt auf 0 und leert die Rabattgruppe — sonst würde die SelectLine die Shop-Preise nachrabattieren.</p>

## Artikel ohne Preis

Ein Artikel ohne Preis in der eingestellten Preisgruppe wird übersprungen; ein bereits
vorhandenes Produkt wird archiviert.

### Ausnahme über ein Artikelfeld

Über die Einstellung **Preisprüfung deaktivieren** lässt sich ein Artikelfeld
bestimmen, mit dem einzelne Artikel trotzdem — mit Preis 0,00 — in den Shop gehen. Der
Weg für Artikel auf Anfrage.

## Weiter

[Bestand und Verfügbarkeit](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/bestand-und-verfugbarkeit)

# Bestand und Verfügbarkeit

Der Bestand ist die Angabe, die sich im Tagesgeschäft am häufigsten ändert. Deshalb gibt
es dafür eigene Aufgaben, die schneller laufen als die vollständige Artikelübertragung.

| Aufgabe                            | Umfang                                                    |
| ---------------------------------- | --------------------------------------------------------- |
| Bestand exportieren (geänderten)    | Artikel mit Bestandsbewegung seit dem letzten Lauf           |
| Bestand exportieren                 | alle Artikel, zusätzlich Statuspflege                        |

Der Bestand wird je zugeordnetem Standort gemeldet — siehe
[Läger und Standorte](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/lager-und-standorte).

## Wie der Bestand ermittelt wird

Standardmäßig gilt: **Bestand abzüglich reservierter Menge**, entweder über alle Läger
oder je zugeordnetem Lager.

### Stücklisten

Bei Stücklisten ergibt sich der Bestand aus der knappsten Komponente — also aus der
Menge, die sich tatsächlich noch zusammenstellen lässt.

### Fertigungsartikel

Bei Artikeln mit Arbeitsplan wird der eigene Bestand um die Menge erhöht, die sich aus
den vorhandenen Komponenten **noch produzieren lässt**. Der Shop zeigt damit nicht nur
das fertige Lager, sondern die realistische Lieferfähigkeit.

### Eigene Bestandsermittlung

Für Sonderfälle kann eine eigene Bestandsabfrage hinterlegt werden. Das richtet der
Support gemeinsam mit Ihnen ein.

<p class="callout warning">Der Bestand wird ganzzahlig an den Shop übergeben und dabei abgeschnitten. Bei Artikeln, die in Bruchteilen geführt werden — Meter, Kilogramm —, wird aus 2,7 m ein Bestand von 2.</p>

## Bestand auf 0 erzwingen

### Feld für Bestand 0

Über ein Artikelkennzeichen lässt sich der gemeldete Bestand auf 0 setzen, ohne den
Artikel zu archivieren. Der Artikel bleibt sichtbar, ist aber nicht bestellbar.

<p class="callout info">Das Kennzeichen wirkt auch über Stücklisten: Trägt eine Komponente das Kennzeichen, wird der Bestand der Stückliste auf 0 gesetzt. Und es wirkt über Varianten: Trägt der Hauptartikel das Kennzeichen, gilt es für alle Varianten.</p>

## Weiterverkauf bei Bestand 0

### Weiterverkaufen

Über ein Artikelkennzeichen lässt sich je Artikel festlegen, dass Shopify auch ohne
Bestand weiter verkauft. Ohne das Kennzeichen lehnt Shopify die Bestellung ab, sobald
der Bestand erschöpft ist.

## Bestandsführung abschalten

### Bestand verwenden

Globale Einstellung: Ist sie aus, führt Shopify für die Artikel keinen Bestand und
verkauft unbegrenzt.

### Feld zum Abschalten der Bestandsführung

Über ein Artikelkennzeichen lässt sich die Bestandsführung je Artikel abschalten — der
Weg für Dienstleistungen und Downloads.

<p class="callout info">Zusätzlich schaltet FINN.ghost die Bestandsführung selbst ab, wenn ein Artikel kein Lagerartikel ist und keine Stückliste hat. Damit werden Dienstleistungsartikel automatisch richtig behandelt.</p>

## Statuspflege im Bestandslauf

Die Aufgabe *Bestand exportieren* prüft zusätzlich den Status: Freigegebene Artikel
werden auf aktiv gesetzt, nicht freigegebene oder inaktive archiviert.

<p class="callout warning">Produkte im Entwurfsstatus überspringt dieser Lauf vollständig — auch beim Bestand. Ein Artikel, der als Entwurf hochgeladen wurde und dort liegen bleibt, hat im Shop dauerhaft keinen Bestand.</p>

## Weiter

[Artikelgruppen](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/artikelgruppen)

# Artikelgruppen

Die Artikelgruppen der SelectLine werden zu **manuellen Sammlungen** im Shop. Jede
Gruppe wird eine eigene Sammlung, benannt nach der Bezeichnung der Artikelgruppe.

<!-- TODO Screenshot: images/artikel-sammlungen.png -->

## Was übertragen wird

| Im Shop        | Aus der SelectLine                          |
| -------------- | ------------------------------------------- |
| Titel          | Bezeichnung der Artikelgruppe                 |
| Bild           | Bild zur Artikelgruppe, auf Maximalgröße skaliert |

<p class="callout danger">Hat eine Artikelgruppe keine Bezeichnung, bricht ihr Export mit einer Meldung ab. Die übrigen Gruppen laufen weiter.</p>

## Der ganze Zweig wird zugeordnet

Ein Artikel wird nicht nur seiner eigenen Gruppe zugeordnet, sondern **allen Gruppen
seines Zweigs** bis zur Wurzel. Ein Artikel in *Werkzeug → Handwerkzeug → Zangen*
erscheint also in allen drei Sammlungen.

<p class="callout info">Das ist der Unterschied zu einer Baumnavigation: Shopify-Sammlungen sind flach. Damit ein Kunde in der Sammlung <em>Werkzeug</em> auch die Zangen findet, muss der Artikel dort ebenfalls einsortiert sein.</p>

Fehlt eine Sammlung des Zweigs noch, legt der Artikelexport sie selbst an.

## Einstellungen

### Alternative Artikelgruppen

Statt der Artikelgruppe aus der Artikelmaske werden die zusätzlichen
Gruppenzuordnungen des Artikels verwendet. Damit kann ein Artikel in mehreren
Sortimentsästen erscheinen.

### Artikelgruppen ignorieren

Sammlungen werden gar nicht angefasst und Artikel keiner Sammlung zugeordnet. Die
Sortierung übernimmt dann der Shopify-Adminbereich, etwa über automatische Sammlungen
nach Tags.

### Freigabe je Gruppe

Über ein Feld an der Artikelgruppe lässt sich steuern, welche Gruppen in den Shop
gehören. Gruppen ohne gesetztes Kennzeichen werden übersprungen.

## Die Sammlung „Ermäßigte Steuer"

FINN.ghost legt zusätzlich eine unveröffentlichte Sammlung mit dem Namen **Ermäßigte
Steuer** an und ordnet dort alle Artikel ein, deren Steuerschlüssel dem ermäßigten Satz
entspricht.

<p class="callout info">Shopify kennt keine Steuersätze je Artikel wie die SelectLine. Der übliche Weg ist eine Sammlung, auf die im Shop eine abweichende Steuerregel gelegt wird. Genau dafür ist diese Sammlung gedacht — die Steuerregel selbst wird im Shopify-Adminbereich eingerichtet.</p>

Welcher Steuerschlüssel als ermäßigt gilt, wird bei der Einrichtung festgelegt.

## Wichtig zu wissen

<p class="callout warning">Die Zuordnung eines Artikels zu einer Sammlung wird nur <strong>hinzugefügt</strong>, nie entfernt. Wechselt ein Artikel in der SelectLine die Artikelgruppe, bleibt er zusätzlich in der alten Sammlung. Solche Altzuordnungen müssen im Shopify-Adminbereich entfernt werden.</p>

Eine umbenannte Artikelgruppe wird dagegen sauber nachgezogen: Die Zuordnung läuft über
die Gruppennummer, nur der Titel der Sammlung ändert sich.

## Weiter

[Varianten](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/varianten)

# Varianten

Variantenartikel der SelectLine werden auf das Variantensystem von Shopify abgebildet:
Der Variantenartikel wird das Produkt, die einzelnen Varianten werden dessen Varianten.
Die Merkmale werden zu Shopify-Optionen.

<!-- TODO Screenshot: images/artikel-varianten-storefront.png -->

## Voraussetzungen

| Voraussetzung                    | Hinweis                                                    |
| -------------------------------- | ---------------------------------------------------------- |
| höchstens 3 Merkmale              | Grenze von Shopify                                           |
| Merkmale an der Variante gepflegt | eine Variante ohne Merkmale wird übersprungen                 |
| Variante freigegeben und aktiv    | nur freigegebene, nicht inaktive Varianten kommen mit           |
| Preis je Variante                 | eine Variante ohne Preis wird übersprungen                     |

<p class="callout danger">Bei mehr als drei Merkmalen wird der gesamte Variantenartikel abgewiesen und gar nicht angelegt. Im Protokoll steht der Hinweis, dass der Artikel mehr als 3 Merkmale hat.</p>

## Immer über den Hauptartikel

Einzelne Varianten lassen sich nicht für sich übertragen. Ändert man eine Variante,
überträgt die Schnittstelle automatisch den Hauptartikel mit **allen** Varianten neu.

<p class="callout info">Das ist eine Eigenschaft der Shopify-Schnittstelle: Ein Produkt wird mit seiner vollständigen Variantenliste geschrieben. Deshalb dauert die Übertragung eines Variantenartikels mit vielen Varianten deutlich länger als die eines Einzelartikels.</p>

## Was je Variante übertragen wird

| Im Shop                    | Aus der SelectLine                               |
| -------------------------- | ------------------------------------------------ |
| SKU                        | Artikelnummer der Variante                         |
| Barcode                    | EAN-Nummer                                        |
| Optionswerte               | Merkmalsausprägungen, nach Merkmal sortiert          |
| Preis und Streichpreis      | Preis bzw. Aktionspreis der Variante                 |
| Gewicht                    | Gewicht der Variante                                |
| Bild                       | erstes Bild der Variantenartikelnummer                |
| Metafelder                 | Extrafelder und Sachmerkmale der Variante             |
| Bestand                    | je Standort, siehe [Bestand](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/bestand-und-verfugbarkeit)      |

<p class="callout info">Die Reihenfolge der Optionswerte ergibt sich aus der alphabetischen Sortierung der Merkmalsbezeichnungen. Größen erscheinen dadurch als <code>L, M, S, XL</code> statt <code>S, M, L, XL</code>. Die gewünschte Reihenfolge lässt sich im Shopify-Adminbereich am Produkt einstellen; sie wird von der Schnittstelle nicht überschrieben.</p>

## Entfallene Varianten

Wird eine Variante in der SelectLine inaktiv gesetzt oder die Freigabe entfernt, kommt
sie beim nächsten Lauf des Hauptartikels nicht mehr mit.

<p class="callout warning">Shopify entfernt die Variante dadurch nicht automatisch aus dem Produkt. Entfallene Varianten müssen im Shopify-Adminbereich gelöscht werden — solange sie dort stehen, bleiben sie mit ihrem letzten Bestand sichtbar.</p>

## Weiter

[Sachmerkmale und Extrafelder](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/sachmerkmale-und-extrafelder)

# Sachmerkmale und Extrafelder

Nicht jede Angabe der SelectLine hat im Shop ein passendes Standardfeld. Shopify bietet
dafür **Metafelder**. FINN.ghost legt die nötigen Definitionen an und füllt sie.

Die Aufgabe dazu heißt *Sachmerkmale und Extrafelder aktualisieren*.

<!-- TODO Screenshot: images/artikel-metafelder.png -->

## Welche Metafelder entstehen

| Bereich                    | Wo im Shop                          |
| -------------------------- | ----------------------------------- |
| Extrafelder Artikel         | Produkt und Variante                  |
| Sachmerkmale                | Produkt und Variante                  |
| Extrafelder Kunde           | Kunde                                 |
| Extrafelder Unternehmen     | Unternehmen (nur Shopify Plus)         |

Zu den Extrafeldern der Artikeltabelle kommen die Standardfelder, die im Shop nützlich
sind: Zusatz, Matchcode, Freie Texte, Freie Zahlen, Freie Daten, Freie Kennzeichen,
Dimensionstext, Infotext, Bestelltext sowie die Verweise auf Zubehör, Alternativartikel
und Dateien.

<p class="callout info">Die SEO-Felder <code>_METATITLE</code> und <code>_METADESCRIPTION</code> werden bewusst ausgelassen — sie gehen in die echten SEO-Felder des Produkts, nicht in Metafelder.</p>

## Sachmerkmale

Sachmerkmale werden als Listen-Metafelder abgebildet, sowohl am Produkt als auch an der
Variante. Ein Artikel kann damit mehrere Werte je Sachmerkmal tragen.

Am Produkt werden die Sachmerkmale des Hauptartikels **und aller seiner Varianten**
gesammelt. Der Kunde findet auf der Produktseite also die vollständige Auswahl, während
an der Variante nur ihre eigenen Werte stehen.

<p class="callout info">Damit lassen sich im Shop Filter über Sachmerkmale bauen. Wie die Filter erscheinen, richtet sich nach dem Theme und wird im Shopify-Adminbereich unter den Suchfiltern eingestellt.</p>

## Feldtypen

| SelectLine        | Metafeldtyp im Shop         |
| ----------------- | --------------------------- |
| Text              | einzeiliger Text              |
| Memo              | mehrzeiliger Text              |
| Kennzeichen       | Wahrheitswert                  |
| Datum, Zeitstempel| Datum bzw. Datum mit Uhrzeit    |
| Ganzzahl          | Ganzzahl                       |
| Kommazahl         | Dezimalzahl                    |
| Dateiliste        | Liste von Dateiverweisen        |
| Artikelliste      | Liste von Produktverweisen       |

<p class="callout warning">Ein Extrafeld mit einem nicht unterstützten Datentyp wird übersprungen und im Protokoll vermerkt. Solche Felder müssen in der SelectLine auf einen unterstützten Typ geändert werden.</p>

## Felder umbenennen

Erwartet ein Theme einen bestimmten Feldnamen, kann eine Umbenennung hinterlegt werden.
Das FINN.ghost-Feld wird dann unter dem gewünschten Namen im Shop geführt. Diese
Zuordnung richtet der Support ein.

## Änderungen an den Definitionen

Die Aufgabe legt fehlende Definitionen an. Bestehende werden **nicht** verändert.

<p class="callout warning">Wird ein Sachmerkmal in der SelectLine umbenannt, behält das Metafeld im Shop seinen alten Namen — die Werte werden weiter korrekt gefüllt, weil die Zuordnung über die interne Nummer läuft. Wer den neuen Namen im Adminbereich sehen will, muss die Definition dort umbenennen.</p>

Ein in der SelectLine gelöschtes Extrafeld bleibt im Shop bestehen und behält seinen
letzten Wert. Aufräumen ist im Shopify-Adminbereich möglich.

## Weiter

[Zubehör und Alternativartikel](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/zubehor-und-alternativartikel)

# Zubehör und Alternativartikel

Zubehör- und Alternativartikel aus der SelectLine werden als **Produktverweise** in
Metafeldern hinterlegt. Das Theme kann sie als Empfehlungen auf der Produktseite
ausgeben.

<!-- TODO Screenshot: images/artikel-zubehoer-storefront.png -->

| In der SelectLine  | Metafeld am Produkt        |
| ------------------ | -------------------------- |
| Zubehörartikel      | `Zubehoer`                  |
| Alternativartikel   | `Alternativen`              |

<p class="callout info">Anders als bei anderen Shopsystemen entsteht daraus keine fertige Anzeige. Die Metafelder enthalten die Produktverweise; die Darstellung im Shop übernimmt das Theme. Die Umsetzung dort macht Ihre Agentur oder unser Team.</p>

## Voraussetzung

Aufgenommen werden nur Artikel, die selbst für den Shop freigegeben und nicht inaktiv
sind. Ein Zubehörartikel ohne Freigabekennzeichen erscheint nicht in der Empfehlung.

Ist ein freigegebener Zubehörartikel noch nicht im Shop, überträgt die Schnittstelle ihn
bei Bedarf vorher.

<p class="callout warning">Bei umfangreichen Zubehörketten kann ein Artikelexport dadurch spürbar länger dauern als erwartet — mit jedem Artikel kommen seine noch fehlenden Zubehör- und Alternativartikel mit.</p>

Zubehör wird nur berücksichtigt, wenn in der SelectLine ein Einfügemodus gesetzt ist.

## Zubehör nach Typ trennen

Führt die SelectLine am Zubehör ein Feld für den Shop-Typ, entsteht **je Typ ein eigenes
Metafeld**. Damit lassen sich im Theme getrennte Blöcke bauen — etwa „Passendes Zubehör"
und „Ersatzteile".

Zubehör ohne Typangabe landet im allgemeinen Feld `Zubehoer`.

Ob dieses Feld in Ihrer Installation eingerichtet ist, klärt der Support.

## Wechselseitige Verweise

Verweisen zwei Artikel gegenseitig als Alternative aufeinander, erkennt FINN.ghost das
und vermeidet eine Endlosschleife: Der jeweils aufrufende Artikel wird nicht erneut als
Alternative eingetragen.

## Weiter

[Kunden](https://wiki.dako-it.com/books/finnghost-fur-shopify/page/kunden)