Format und Inhalt - WS-SFTP-Produkte PRO (DE)
Inhaltsverzeichnis
- 1 Allgemeines
- 2 Übertragung der Importdateien
- 3 Übersicht Importdateien
- 4 Zeichensatz der Importdateien
- 5 Formate der Importdateien
- 5.1 Allgemeines
- 5.2 Datentypen
- 5.3 Maximale Länge der Felder
- 6 Produktdaten (wpupdate.csv/wpcomplete.csv)
- 6.1 Liste der Felder (unstrukturiert)
- 6.2 Meta-Felder (strukturiert)
- 6.2.1 BulkDiscount/Staffelpreise
- 6.2.2 BulkDiscountPrices/Aktionspreise
- 6.2.3 AltPrices
- 6.2.4 OrgPrices
- 6.2.5 AreaProductPriceScale/Staffelpreise für Flächenprodukte
- 6.2.6 TextInputFields/Texteingabefelder
- 6.2.7 Variations „normale Varianten“
- 6.2.8 DepVariations/DepVarFile, „abhängige Varianten“
- 6.2.8.1 Namen der Varianten
- 6.2.8.2 Bestellmengen als abhängige Varianten
- 6.2.8.3 Name der PRD-Datei
- 6.2.9 CrossLinks
- 6.2.10 Inventory (Lagerbestandsverwaltung aktivieren)
- 6.2.11 Download-Artikel
- 6.2.12 Set
- 6.2.13 SetConfiguration
- 6.2.14 ChildProducts
- 6.2.15 ProductComparisonFields/Vergleichsfelder
- 6.2.16 AreaProductRange/Optionen für Flächenprodukte
- 6.2.17 VariationsOverview/VariationsOverviewMatrix/Bekleidungsmodul
- 6.2.17.1 VariationsOverview
- 6.2.17.2 VariationsOverviewMatrix
- 6.2.17.3 Bekleidungsmodul und PRD-Dateien
- 6.2.18 InstantVoucherProduct/Gutscheinprodukte
- 6.3 Typen der freien Felder
- 6.3.1 Text Aufzählung
- 6.3.2 Meta-Feld
- 7 Produktdaten und Variationswerte für abhängige Varianten (PRD-Dateien)
- 8 Löschen von Produktdaten (wpdelete.csv)
- 9 Produkt-Kategorie-Zuordnungen
- 10 Kategoriedaten (catcomplete.xml)
- 11 Lagerbestände (amountupdate.csv)
- 12 Kundenabhängige Preise
- 13 Online-Preise
- 14 Kombinationen für die abhängige Suche (depsearchcomplete.csv)
- 15 Produktabhängige Versandkosten (deliveryupdate.csv/deliverydelete.csv)
- 16 Rabattgruppen (discount.csv)
- 17 Kundenabhängige Produktnummern
- 18 Diverse Shop-Parameter (parameter.ini)
- 19 Diverse Subshop-Parameter (parameter.ini)
- 20 Spezielle Themen
- 21 Schutz vor leeren Importen
- 22 Beispiel-Dateien
Allgemeines
Diese Dokumentation beschreibt das Format und den Inhalt der verschiedenen Import-Dateien für Produktdaten, Kategoriedaten, Lagerbestände, kundenabhängigen Preisen, Versandkosten etc., welche an den Shop gesendet werden können.
Übertragung der Importdateien
Die Inhalte der nachfolgend beschriebenen Dateien werden mit der REST- oder SOAP-Schnittstelle in den Shop importiert:
Übertragung - Trigger: REST, SOAP & Co
Übersicht Importdateien
Derzeit werden folgende Importdateien unterstützt:
Dateiname | Gültigkeit | Inhalt und Funktion |
---|---|---|
wpupdate.csv | Subshop | Diese Datei enthält die Daten von zu ändernden oder neu hinzuzufügenden Produkten. |
wpcomplete.csv | Subshop | Das Format dieser Datei ist identisch zu dem von wpupdate.csv, allerdings muss sie alle Produkte des Subshops enthalten. Produkte, die nicht in dieser Datei enthalten sind, werden gelöscht. Der Import der wpcomplete.csv erfordert den Import der catcomplete.csv. |
wpdelete.csv | Subshop | Diese Datei enthält die zu löschenden Produktdaten. |
*.prd | Subshop | Die Daten von abhängigen Varianten werden je Produkt in einer eigenen Datei gespeichert. Der Name dieser Dateien wird aus dem Produktindex gebildet, die Extension ist „prd“. |
catupdate.csv | Subshop | Diese Datei enthält zu ändernde Kategorieinhalte. Für die in dieser Datei aufgeführten Produkte müssen in der wpupdate.csv die zugehörigen Produktdaten geliefert werden oder bereits im Shop vorhanden sein. |
catcomplete.csv | Subshop | Das Format dieser Datei ist identisch zu dem von catupdate.csv, allerdings muss sie alle Produkt-Kategorie-Zuordnungen enthalten. Aus Kategorien, die nicht in dieser Datei vorhanden sind, werden alle zugeordneten Produkte entfernt. |
catdelete.csv | Subshop | Diese Datei enthält die Kategorien, aus denen alle Produkte entfernt werden sollen. |
catcomplete.xml | Subshop | Diese XML-Datei enthält die Daten der Kategorien selbst. |
amountupdate.csv | Shop | Diese Datei enthält die zu ändernde Lagerbestände der Produkte (global). |
c-priceupdate.csv | Subshop | Diese Datei enthält die zu aktualisierenden (kundenabhängigen) Preise. |
c-pricecomplete.csv | Subshop | Das Format dieser Datei ist identisch zu dem von „c-priceupdate.csv“, allerdings muss die Datei alle kundenabhängigen Preise des Subshops enthalten. Nicht in der Datei enthaltene Preise werden aus dem Shop gelöscht. |
c-pricedelete.csv | Subshop | Diese Datei enthält die zu löschenden (kundenabhängigen) Preise. |
onlinepriceupdate.csv | Subshop | Enthält die zu ändernden oder hinzuzufügenden Online-Preise. |
onlinepricecomplete.csv | Subshop | Enthält alle Online-Preise (des Subshops). |
onlinepricedelete.csv | Subshop | Enthält die zu löschenden Online-Preise. |
depsearchcomplete.csv | Subshop | Enthält die möglichen Kombinationen für die abhängige Suche. |
deliveryupdate.csv | Shop | Diese Datei enthält die zu aktualisierenden/neu einzufügenden Einträge der produktabhängigen Versandkosten. |
deliverydelete.csv | Shop | Diese Datei enthält die zu löschenden Einträge der produktabhängigen Versandkosten. |
discount.csv | Shop/Subshop | Rabattgruppen |
custpnumbersupdate.csv | Shop | Enthält die zu ändernden oder hinzuzufügenden kundenabhängigen Produktnummern. |
custpnumberscomplete.csv | Shop | Enthält alle kundenabhängigen Produktnummern. |
custpnumbersdelete.csv | Shop | Enthält die zu löschenden kundenabhängigen Produktnummern. |
parameter.ini | Shop | Diverse Parameter (global), die in keine andere Importdatei passen. |
parameter.ini | Subshop | Diverse Parameter (für Subshop), die in keine andere Importdatei passen. |
Zeichensatz der Importdateien
Es wird empfohlen, alle Importdateien im Zeichensatz des jeweiligen Subshops zu liefern.
Dadurch ist sichergestellt, dass alle importierten Sonderzeichen im Shop richtig dargestellt werden. Sobald Zeichensätze konvertiert werden müssen, besteht die Gefahr, dass es für bestimmte Zeichen keine Entsprechung im Zeichensatz des Shops gibt.
Der Zeichensatz des Subshops ist in der Datei „shop.config“, in der Sektion „Basic“ bei dem Parameter „Charset“ eingetragen.
Konvertierung der Zeichensätze
Falls das ERP-System die Zeichensätze des Subshops nicht liefern kann, so müssen diese entsprechend konvertiert werden.
Konvertierung des Zeichensatzes der "catcomplete.xml"
Bei der "catcomplete.xml" wird der Zeichensatz im Header der XML-Datei ausgewertet. Eine spezielle Konfiguration der Zeichensatzkonvertierung ist daher nicht notwendig.
Konvertierung des Zeichensatzes der Dateien "wpupdate.csv", „wpcomplete.csv“ und „*.prd“
Wenn diese Dateien konvertiert werden sollen, so muss dies in der Datei global.config im Verzeichnis „konfiguration“ des Shops eingestellt werden.
Sektion:
<ProductImportPro>
ConvertCharset = yes # [yes][no], standard = no, Zeichensatz beim Import von Produktdaten konvertieren
ImportCharset = UTF-8 # Zeichensatz in dem die Importdateien geliefert werden, standard = UTF-8
UnknownCharacters = mapreplace # [ignore] [stdreplace] [mapreplace], standard = ignore
</ProductImportPro>
ConvertCharset:
Der Parameter „ConvertCharset“ legt fest, ob der Zeichensatz der Produktdaten überhaupt konvertiert wird. Die beiden anderen Parameter sind optional.
ImportCharset:
Mit „ImportCharset“ lässt sich der Zeichensatz der Importdateien festlegen, wenn er von UTF-8 abweicht.
UnknownCharacters:
Der Parameter „UnknownCharacters“ regelt, wie mit Zeichen umgegangen werden soll, für die es keine Entsprechung im Zeichensatz des SubShops gibt:
ignore: Die Zeichen werden ersatzlos weggelassen
stdreplace: Es wird versucht das Zeichen durch ein oder mehrere ähnliche Zeichen zu ersetzen
mapreplace: Die Zeichen werden anhand einer Zuordnungstabelle in der Datei global.config konvertiert
Konvertierungstabellen
Wenn in den Importdaten Zeichen verwendet werden, die im Zeichensatz des Shops nicht vorhanden sind, so können diese mit Konvertierungstabellen in der Datei global.config in andere Zeichen konvertiert werden.
<+ImportCharsetConvertMap>
Charset = ISO-8859-1
a = %c4%83
I = %c3%8e
%56 = %c3%8e
</+ImportCharsetConvertMap>
Der Parameter „Charset“ gibt den Zeichensatz des Shops an, für den diese Tabelle verwendet werden soll. Alle übrigen Einträge der Sektion geben die gewünschten Ersetzungen an: Rechts vom „=“ steht die Zeichenfolge in der Importdatei, links davon die Zeichenfolge durch die sie ersetzt werden soll. Sowohl die Original-Zeichen als auch die Ersetzung müssen im Zeichensatz der Importdatei kodiert werden.
Alle Zeichen können URL-kodiert werden. Dabei folgt auf ein „%“ Zeichen der hexadezimale Code des Zeichens. Diese Kodierung ist bei allen Sonderzeichen (mit einem Code >= 128) empfehlenswert, da ansonsten die Gefahr besteht, dass diese Zeichen beim Bearbeiten der Datei im falschen Zeichensatz gespeichert werden.
Bemerkungen
Wenn eine Zeichenfolge nicht durch eine andere ersetzt, sondern gelöscht werden soll, so lässt sich das mit dem Spezialwert „$delete“ erreichen.
Die Konvertierungstabellen werden derzeit nur für die Konvertierung der Produktdaten verwendet, nicht für die Kategoriedaten.
Es können beliebig viele <+ImportCharsetConvertMap> Sektionen in der Datei global.config stehen. Allerdings müssen sie sich im „Charset“ Parameter unterscheiden.
Formate der Importdateien
Allgemeines
Alle Dateien mit den Extensions „csv“ und „prd“ werden in einem „character separated values“ Format gespeichert, d.h. die Dateien bestehen aus einer Header-Zeile mit den Feldnamen und beliebig vielen Datenzeilen, sowie Feldtrennern zwischen den Feldern einer Datenzeile. Feldtrenner für die Feldwerte bzw. die Feldnamen in der Header-Zeile sind Tabulator-Zeichen. Die Zeilen werden mit einem CR oder einem CRLF abgeschlossen.
Bitte achten Sie bei den Feldnamen auf die Groß-/Kleinschreibung.
Beispiel:HeaderFeld1<TAB>HeaderFeld2<TAB>HeaderFeld3<CRLF>
Feldwert1a<TAB>Feldwert2a<TAB>Feldwert3a<CRLF>
Feldwert1b<TAB>Feldwert2b<TAB>Feldwert3b<CRLF>
Datentypen
In den nachfolgenden Tabellen werden folgende Datentypen verwendet:
Datentyp | Beschreibung |
---|---|
S1 | String (Typ 1) mit allen druckbaren Zeichen außer TAB und CR/LF |
S2 | String (Typ 2) nur mit den erlaubten Zeichen: 0..9 |
S3 | String (Typ 3, alphanumerisch) nur mit den erlaubten Zeichen: 0..9 |
S4 | String (Typ 4, ASCII) mit allen druckbaren Zeichen außer TAB und CR/LF des ASCII-Codes bzw. der ersten 128 Zeichen der ISO-8859-X Codes. |
I | Signed Integer, d.h. ganzzahlige Werte mit einem optionalen Vorzeichen. Es sind nur Ziffern und Vorzeichen erlaubt. Keine anderen Zeichen, insbesondere keine Punkte als Tausendertrenner. Beispiel: |
U | Unsigned Integer, d.h. ganzzahlige Werte ohne Vorzeichen. Es sind nur Ziffern erlaubt. Keine anderen Zeichen, insbesondere keine Punkte als Tausendertrenner. Beispiel: |
F | Float, d.h. „Fließkommazahlen“ mit optionalem Vorzeichen und optionalen Nachkommastellen. Nachkommastellen werden durch einen Punkt getrennt (das Komma ist nicht erlaubt). Beispiel: Nicht erlaubt: |
Maximale Länge der Felder
Die in den Tabellen angegebene maximalen Längen werden beim Import nicht geprüft. Felder, bei denen die maximale Länge überschritten ist, werden nicht gekürzt, weder beim Import noch später bei der Anzeige im Shop.
Der Grund dafür ist, dass Felder (speziell die Produktbeschreibung) HTML-Formatierungen enthalten können. Würde nun z. B. eine Produktbeschreibung nach einem öffnenden <table> Tag abgeschnitten, aber noch vor dem schließenden </table> Tag, so wäre nicht nur die Formatierung des Feldwertes selbst betroffen, sondern die Formatierung des gesamten Inhalts der HTML-Seite, der auf die Beschreibung folgt. Im schlimmsten Fall wäre nicht nur die Darstellung der Seite betroffen, sondern auch die Funktion, wenn z. B. der „In den Warenkorb“ Button nicht mehr angezeigt wird.
Aus diesem Grund werden Felder, bei denen die maximale Länge überschritten ist, im Shop nicht bzw. mit leerem Inhalt angezeigt.
Produktdaten (wpupdate.csv/wpcomplete.csv)
Diese Dateien enthalten die zu ändernden oder neu in den Shop einzufügenden Produktdaten.
Liste der Felder (unstrukturiert)
Die Datei kann folgende Felder enthalten:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
ProdIndex | S1/64 | Eine innerhalb des Subshops eindeutige ID für das Produkt. Dieses Feld ist das einzige Pflichtfeld der Datei. |
Name | S1/128 | Der Produktname. |
Name2 | S1/128 | Eine Zusatzbezeichnung des Produkts. |
Number | S1/64 | Die Nummer des Produkts/Produktnummer. |
AltNumber1 | S1/64 | Felder mit „alternativen Produktnummern“. |
InsertList | S1/4000 | Eine kommagetrennte Liste von Werbemittelcodes, die für das Produkt zulässig sind. |
Descr | S1/16000 | Die Produktbeschreibung. |
Shortdescr | S1/1024 | Die Produkt-Kurzbeschreibung. Diese Beschreibung kann z. B. in Produktlisten verwendet werden, alternativ kann dort auch eine vom Shop automatisch gekürzte Version von „Descr“ angezeigt werden. |
Image | S2/128 | Der Name des normalgroßen Produktbilds. |
Thumbnail | S2/128 | Ein kleines Produktbild für die Verwendung in Produktlisten. |
MiniThumbnail | S2/128 | Ein extrakleines Produktbild, z. B. für die Anzeige im Warenkorb. |
LargeImage | S2/128 | Ein extragroßes Produktbild, das z. B. durch den Klick auf einen „vergrößern“ Link im Shop angezeigt werden kann. |
Unit | S1/64 | Die (Verpackungs-)Einheit in der das Produkt bestellt werden kann. Beispiel: „Stück“ Wenn eine Verpackungseinheit mehrere Stück enthält, so kann diese Anzahl entweder mit in das Unit-Feld eingetragen werden oder getrennt, in einem freien Feld importiert werden. Im ersten Fall wird die Stückzahl auch im Warenkorb angezeigt und in die Bestelldaten übernommen, im zweiten nicht. |
UnitCode | S1/64 | Ein Code für die Einheit in der das Produkt bestellt werden kann. Im Gegensatz zu „Unit“ ist dieser Wert nicht dazu gedacht im Shop angezeigt zu werden, sondern beim Einlesen der Bestellungen durch ein WWS ausgewertet zu werden. Beispiel: „Stck“ |
UnitFactor | F/8 | Bei Verwendung dieses Feldes können nur noch Vielfache der unter „Unit“ angegebenen Einheit bestellt werden. |
UnitFactorGroups | S1/4048 | Der Wert des Feldes UnitFactor (siehe oben), kann kundenabhängig importiert werden. In den Kundendaten muss zu diesem Zweck eine Gruppen-ID (“UnitFactorGroupID”) angegeben werden. Format: <g><1>Gruppen-ID</1><2>UnitFactor</2></g> Beispiel: |
QuantityScaling | S1/1024 | Gibt die zulässigen Bestellmengen an. Im Gegensatz zu „UnitFactor“ müssen alle zulässigen Mengen in einer kommagetrennten Liste aufgeführt werden. |
AdditionCostFactor | F/8 | Erlaubt die Anpassung der Versandkosten für einzelne Produkte. Der hier angegebene Wert wird mit der Zahl der bestellten Artikel und einem in der in der "shop.config" zu konfigurierenden Faktor multipliziert und dann zu den Versandkosten addiert. |
FreeDelivery | S1/1 | „y“, wenn für das Produkt keine Versandkosten berechnet werden sollen. |
DeliveryCostGroup | S1/64 | Die Versandkostengruppe für die produktabhängigen Versandkosten. |
VATIndex | Zulässige Werte: 1...15 | Legt den MWSt-Satz des Produkts fest. Der zu dem VATIndex gehörende Prozentsatz wird in der shop.config konfiguriert. |
Price | F/8 | Der „normale“ Preis des Produkts. |
AltPrices | - | Zeitabhängige, alternative Preise. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
OrgPrice | F/8 | Ein „alter Preis“ eine „Preisempfehlung“ oder etwas ähnliches. Der Shop kann automatisch die Differenz zwischen „OrgPrice“ und „Price“ als Ersparnis anzeigen. |
OrgPrices | - | Entspricht vom Inhalt her dem Feld “OrgPrice”, allerdings können in “OrgPrices” zeitabhängige Preise angegeben werden. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
BestPrice | F/8 | Wenn ein Produkt abhängige Varianten hat, dann sollte hier der günstigste Preis aller Varianten eingetragen werden. Bevor im Shop alle Varianten ausgewählt sind kann dieser Preis dann als „Ab-Preis“ (z. B. „ab 2.25 EUR“) angezeigt werden. Beispiel: „2.25“ |
BestPiecePrice | F/8 | Wenn die Stückzahl als Variante importiert wird, dann kann in diesem Feld der günstigste Preis pro Stück übergeben werden, |
BestPiecePriceQuantity | F/8 | Die zu „BestPiecePrice“ gehörende Menge |
MaxPrice | F/8 | Wenn ein Produkt abhängige Varianten hat, dann kann hier der höchste Preis aller Varianten eingetragen werden. Zusammen mit "BestPrice" kann "MaxPrice" dazu verwendet werden einen Preisbereich (von ... bis ...) anzuzeigen, bevor eine Variation ausgewählt wurde. |
BulkDiscount | Max. 100 Preise | Die Staffelpreise. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
BulkDiscountId | S1/64 | Die Staffelpreis-ID. Produkte mit der gleichen Staffelpreis-ID gelten für die Staffelpreis-Berechnung als gleich. Beispiel: Alle T-Shirts in einem Shop haben die Staffelpreis-ID „TShirt“ bekommen, ab dem Kauf von 3 Stück gilt ein herabgesetzter Staffelpreis. Wenn nun ein Kunde ein Stück vom T-Shirt „A“, ein Stück vom T-Shirt „B“ und ein Stück vom T-Shirt „C“, bestellt so bezahlt er nur den herabgesetzten Preis. |
BulkDiscountPrices |
| „Aktionspreise“, d.h. zeit- und mengenabhängige Preise. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
AreaProductPriceScale |
| Staffelpreise für Flächenprodukte. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
ValidFrom | U/10 | Uhrzeit/Datum ab dem das Produkt im Shop angezeigt werden soll als Unix-Zeit. Beispiel: „1210892400“ |
ValidUntil | U/10 | Uhrzeit/Datum bis zu dem das Produkt im Shop angezeigt werden soll als Unix-Zeit. |
TextInputFields | Max. 10 Felder | Die Texteingabefelder. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
SearchItems | S1/256 | Begriffe die bei der Suche berücksichtigt, aber nicht im Online-Shop angezeigt werden sollen. In diesem Feld wird eine Volltextsuche durchgeführt, d. h. es braucht keine spezielle Formatierung beachtet zu werden. |
MerchantName | S1/64 | Der Name des Herstellers oder Lieferanten des Produkts. |
MerchantID | S1/64 | Eine ID des Herstellers oder Lieferanten des Produkts. Im Gegensatz zu MerchantName ist dieses Feld nicht für die Anzeige im Shop sondern für die Auswertung beim Einlesen der Bestellungen gedacht. |
Weight | F/8 | Das Gewicht des Artikels in einer beliebigen Einheit, die allerdings für alle Produkte gleich sein muss. |
Volume | F/8 | Das Volumen des Artikels in einer beliebigen Einheit, die allerdings für alle Produkte gleich sein muss. Beispiel: „8.0“ |
Length | F/8 | Die Länge des Artikels in einer beliebigen Einheit, die allerdings für alle Produkte gleich sein muss und mit der von „Volume“ abgestimmt sein sollte. Beispiel: „1.0“ |
Height | F/8 | Die Höhe des Artikels (siehe Length). Beispiel: „2.52“ |
Width | F/8 | Die Breite des Artikels (siehe Length). Beispiel: „0.42“ |
MinQuantity | U/7 | Die minimale Bestellmenge für das Produkt. Beispiel: „3“ |
MaxQuantity | U/7 | Die maximal Bestellmenge für das Produkt. Beispiel: „25“ |
QuantityDecimal | Zulässige Werte: 0...6 | Die zulässigen Nachkommastellen für die Bestellmenge. Normalerweise kann ein Kunde im Shop nur ganzzahlige Bestellmengen eingeben, durch Verwendung dieses Feldes können Sie auch Fließkommawerte zulassen. |
Event | S1/1 | Tragen Sie hier „y“ ein, wenn das Produkt in der „Happy-Hour“ Kategorie angezeigt wird. Beachten Sie, dass das Produkt zusätzlich über die Dateien catupdate.csv/ catcomplete.csv der „Happy-Hour“ Kategorie zugewiesen werden muss. |
EventProductNumber | S1/64 | Eine abweichende Artikelnummer, die während der „Happy-Hour“ verwendet wird. |
EventDiscount | F/8 | Rabatt in Prozent, der für das Produkt während der „Happy-Hour“ gewährt wird. |
Variations | Max. 200 Varianten; und 2000 Einträge | Die „normalen“ Varianten. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
DepVariations/ | Max. 200 Varianten; und 100000 Einträge, Empfehlung: Die Zahl der Einträge sollte jedoch 10000 nicht überschreiten, da mit zunehmender Anzahl die Anzeige im Shop träger wird. | Die „abhängigen“ Varianten. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
CrossLinks | Max. 200 Einträge | Cross-Links, Cross-Selling-Links usw. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
Inventory | - | Lagerbestandsdaten Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
StoreId | S4/64 | Die „Lagerartikelnummer“ des Produkts. Normalerweise wird der Lagerbestand eines Artikels über den ProduktIndex zugeordnet. Falls eine davon abweichende ID verwendet werden soll, so kann sie hier eingetragen werden. |
StockEmail | S1/128 | Eine E-Mail-Adresse für Benachrichtigungen bei Unterschreitung des Meldebestandes. Ist dieses Feld leer, so wird die in der shop.config konfigurierte Adresse verwendet. Beispiel: „info@shop.de“ |
OrderInfo | S1/16000 | In dieses Feld können Daten geschrieben werden, die im Shop nicht angezeigt werden sollen, aber in den Bestelldaten benötigt werden, z. B. eine interne Artikelnummer. |
Test | S1/1 | „y“, wenn das Produkt im Shop nicht angezeigt werden soll. Durch Anhängen von „&test=on“ an die URL des Shopaufrufs lassen sich die so gekennzeichneten Produkte zu Testzwecken im Shop anzeigen. |
HideForBasket | S1/1 | „y“, wenn das Produkt im Warenkorb nicht angezeigt werden soll. |
BookDelivery | S1/1 | „y“, wenn für das Produkt eine spezielle Bücherversand-Versandkostenberechnung erfolgen soll. |
SoldOut | S1/1 | „y“, wenn das Produkt im Shop nicht bestellbar sein soll. |
Export | S1/1 | „n“ wenn das Produkt nicht durch die Dienste „PricePush“ und „Externe Suchsystem“ exportiert werden soll. |
License | S1/1 | „y“, wenn es sich bei dem Produkt um einen „Lizenzartikel“ handelt. Beim Kauf eines Lizenzartikels erhält der Kunde eine Lizenznummer zugestellt. Typischerweise handelt es sich dabei um Software die frei heruntergeladen werden kann, aber erst nach der Eingabe einer Lizenznummer ohne Einschränkungen benutzt werden kann. |
DiscountFactor | F/8 | Der „(Kunden-)Rabattfaktor“. Die gewährten Rabatte werden mit diesem Faktor multipliziert. Standardmäßig ist jedes Produkt rabattierfähig (DiscountFactor = 1), auch wenn das Feld leer übergeben wird. Soll für ein Produkt kein Rabatt gewährt werden, so können Sie dies erreichen, in dem Sie hier „0“ eintragen. Beispiel: „0.5“ |
DiscountId | S1/64 | Für die Zuordnung des Produkts zu einer Rabattgruppe. Siehe unten Rabattgruppen (discount.csv) Beispiel: „abc“ |
DiscountIDs | S1/4096 | Angabe von zeitabhängigen Zuordnungen zu einer Rabattgruppe in der Form: |
Discount | F/8 | Ein Rabatt für das Produkt, der für alle Kunden gilt. Angabe in Prozent. Beispiel: „7.89“ |
UserDiscountRate | F/8 | Jedem Kunden, der diesen Artikel kauft, wird für die gesamte Bestellung und für alle Bestellungen in der Zukunft der hier angegebene Rabatt (in Prozent) gewährt. Beispiel: „5.00“ |
BonusPoints | U/7 | Die Anzahl der Bonuspunkte, die beim Kauf dieses Produkts gutgeschrieben werden. Beispiel: „1500“ |
BonusDeny | S1/1 | „y“, wenn beim Kauf dieses Produkts keine Bonuspunkte eingelöst werden können. |
BonusProduct | S1/1 | Prämienprodukt („y“: Produkt ist ein Prämienprodukt, jeder andere Wert: Produkt ist kein Prämienprodukt) Im Gegensatz zum „normalen“ Einlösen von Bonuspunkten können Prämienprodukte nur unter Einlösung von Bonuspunkten gekauft werden und Sie können für jedes Produkt explizit angeben, wieviele Bonuspunkte zum Kauf nötig sind. |
BonusProductPrice | U/7 | Bonuspunkte die für den Kauf des Produkts nötig sind (nur bei BonusProduct=y) |
Upload | S1/1 | „y“, wenn der Besteller beim Kauf Dateien hochladen kann (typischerweise bei Druckerzeugnissen). |
Download | - | Die Daten für Download-Artikel. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
Set | Max. 500 Unterartikel | Die Set-Unterartikel des Produkts. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
OnlyAsSetChild |
| „y“ Produkt ist nur als Teil eines Sets bestellbar |
ParentProdIndex | S1/64 | Der Produktindex des Gruppierungs-Oberartikels. |
ChildProducts | - | Die Gruppierungs-Unterartikel des Produkts. Formatbeschreibung und Beispiel siehe „Meta-Felder“. |
AgeRestricted | U/7 | Gibt ein Mindestalter für den Kunden an (typische Anwendung: DVDs, Computerspiele usw., 0: Keine Altersbeschränkung) |
GiftPackage | S1/1 | „n“ wenn für das Produkt keine Geschenkverpackung möglich ist. |
GiftPackagePrice | F/8 | Der Aufpreis je Stück, wenn das Produkt mit Geschenkverpackung geliefert wird. |
NoCampaignVoucher | S1/1 | „y“, wenn auf den Kaufpreis des Produkts keine Werbegutscheine angerechnet werden können (z. B. weil dadurch die Buchpreisbindung verletzt werden würde). |
NumSearchOnly | S1/1 | „y“: Bei der Suche im Online-Shop wird nur in dem Feld mit der Produktnummer gesucht, der Inhalt aller anderen Felder wird ignoriert. Jeder andere Wert: Es wird die normale Logik der Produktsuche angewendet. |
AreaProduct | S1/1 | „y“: Der Kunde kann im Shop die von ihm gewünschten Abmessungen eingeben. Siehe auch "AreaProductRange" unter "Meta-Felder" |
DenyPayments | S1/128 | Ausgeschlossene Zahlungsarten Beispiele für Zahlungsarten-Codes: |
ABMinOrderVal | F/8 | Mindestbestellwert für "Warenkorb" Produkte (siehe "Warenkorb Kategorie") |
UseSetParentVAT | S1/1 | „y“: Bei Setunterartikeln wird der MwSt-Satz des Oberartikels übernommen |
VoucherProduct | S1/1 | „y“: Produkt ist ein "Gutschein-Produkt", d.h. es kann beim Einlösen eines Gutscheins automatisch in der Warenkorb gelegt werden |
ClimateNeutral | S1/1 | „y“: Der Kunde kann beim Kauf des Produkts ein Klimaschutzprojekt auswählen, durch dessen Unterstützung er die bei der Produktion angefallenen Treibhausgase ausgleichen kann. |
VariationsOverview | S1/max. 25 Variationseinträge | Daten für das "Bekleidungsmodul". Formatbeschreibung und Beispiel siehe „Meta-Felder“. (Bemerkung: Diese beiden Felder existieren nicht als "Standard-Felder" im WSPManager) |
VariationsOverviewMatrix | ||
CreationDate | U/10 | Anlagedatum des Produkts im Shop als Unix-Zeit. Beispiel: „1367877600“ |
DataSheetFile | S2/128 | Der Name einer Datei, die als „Datenblatt“ zusammen mit der Bestellbestätigungsmail verschickt werden soll. Die Datei selbst muss im Verzeichnis „...produkte/medien/datasheet/“ abgelegt werden. |
DataSheetName | S2/128 | Ein abweichender Dateiname, falls das Datenblatt nicht mit dem unter DataSheetFile eingetragenen Dateinamen verschickt werden soll. (optional) |
DeliveryFilterID | S1/64 | Erlaubt das Einschränken der Zustellungsarten für das Produkt. Die hier eingetragenen DeliveryFilterIDs müssen in mindestens „<+deliverer>“ Sektion der shop.config eingetragen sein. |
CustomerProductNumbers | S1/16000 | Eine kommagetrennte Liste aller kundenabhängigen Produktnummern, die dem Produkt zugewiesen sind und der Original-Produktnummer. Die Liste muss mit einem führendem und einem abschließenden Komma übergeben werden. Beispiel: ,1234567,123451,123452, |
RobotImageKeywords | S1/128 | Optionaler Name der anstatt des Produktnamens in den URLs der Bilder (Image, Thumbnail, MiniThumbnail, LargeImage) verwendet wird, wenn „sprechende Bildnamen“ für den Shop aktiviert ist. |
OnlinePrice | S1/1 | „y“: Zur Ermittlung des Preises werden die importierten „Online-Preise“ verwendet. |
InstantVoucherProduct | S1 | Enthält die Daten für „Gutscheinprodukte“, d.h. Produkte bei deren Kauf der Käufer einen Gutschein erhält. Siehe "InstantVoucherProduct" unter "Meta-Felder" |
Discontinued | S1/1 | „y“: Das Produkt wird aus der Produktdatenbank gelöscht, aber als „Nicht mehr existierendes Produkt“ weitergeführt (siehe Abschnitt „Nicht mehr existierende Produkte / Kategorien“) |
DiscontinuedSubstitute | S1/64 | Wenn das Feld „Discontinued“ auf „y“ gesetzt ist, so kann hier der Produktindex eines Ersatzproduktes angegeben werden auf das der Shop weiterleitet. (siehe Abschnitt „Nicht mehr existierende Produkte / Kategorien“) |
Service | S1/1 | „y“: Das Produkt wird als „Service Produkt“ weitergeführt (siehe Abschnitt „Service Produkte“) |
IgnoreMinOrder | S1/1 | Wenn bei allen Produkten die sich im Warenkorb befinden dieses Flag auf y gesetzt ist, dann wird der im Shop konfigurierte Mindestbestellwert (OrderConditions/MinimumOrder-Value in der shop.config) nicht beachtet. |
IgnoreForSurcharge | S1/1 | „y“: Das Produkt wird für die Bestimmung des Mindermengenzuschlags (bei entsprechend konfiguriertem Berechnungsmodus) nicht berücksichtigt |
PrimeShopping | S1/3 | Für Set-Oberartikel: Für Set-Unterartikel: |
PrimeShoppingDuration | S1/4 | Laufzeit, die das Prime-Paket gültig ist. Fehlt dieser Wert, so wird vom Shop als Standard 365 Tage verwendet. |
PrimeShoppingDurationUnit | S1 | Zeiteinheit für das Feld PrimeShoppingDuration. „d“: Tage (default) |
PrimeShoppingBillCountries | S1 | Einschränkung bzgl. des Rechnungslandes eines Bestellers. Komma-separierte Liste der Rechnungsländer, die das Prime-Paket kaufen dürfen. Bei einem leeren Eintrag gibt es keine Beschränkung bzgl. des Rechnungslandes. |
PrimeShoppingPeriodOfNotice | S1/4 | Kündigungsfrist vor Laufzeitende in Tagen Fehlt dieser Wert wird der Standard-Wert aus der Shop-Konfiguration verwendet. Ist der Standard-Wert der Shop-Konfiguration nicht gesetzt wird 30 Tage verwendet. Ist die so ermittelte Kündigungsfrist in Tagen größer als die Laufzeit wird als Fallback 1 Tag verwendet. |
PrimeProduct | S1/1 | „y“: Produkt kann nur von Kunden bestellt werden, die ein Prime-Paket mit der Option „Prime-Produkte“ besitzen. |
PrimePrice | F/8 | Preis der für Kunden gültig ist, die das „Prime-Preise“ Paket gekauft haben. |
PrimePriceValidFrom | S3/8 | Tag ab dem der PrimePrice gültig ist |
PrimePriceValidUntil | S3/8 | Tag bis zu dem der PrimePrice gültig ist |
DenyForRating | S1/1 | „y“: Für das Produkt wird keine Bewertungserinnerungsmail verschickt |
DefaultDepVarIndex | S1/64 | Variantenindex der vorausgewählten abhängigen Variantenkombination des Produkts Beispiel: |
DefaultSetDepVarIndex | S1/1024 | Liste an Variantenindizes der vorausgewählten abhängigen Variantenkombination des Set-Produkts. Die Liste ist hierbei wie folgt anzugeben: Als Parameter-Wert-Paare im URL-Format (ohne URL-Codierung), der Variantenindex des Setoberprodukts muss als Wert im Parameter depvar_index_setparent angegeben werden, die Variantenindizes der Setunterprodukte müssen als Wert in den Parametern depvar_index_set_<Laufindex des Setunterprodukts> angegeben werden: Beispiel: (Anmerkung: die Parameterliste ist analog anzugeben wie in der Ausgabe durch das Tag ~PR-SetLink~ enthalten) |
SiteMap | S1/1 | „n“: Das Produkt wird nicht in die |
PriceInterpolationStart | S1 | Dieses Feld ist nur relevant, wenn abhängige Varianten zur Mengeneingabe verwendet werden. In diesem Fall kann hier eine Menge angegeben werden, ab der die Einträge in der PRD zusammengefasst werden. Ab dieser Menge können dann im Shop beliebige Mengen eingegeben werden und der Preis wird durch Interpolation der Preise ermittelt, die in der PRD-Datei angegeben waren. Beispiel:
|
MultiDeliveryAddressOptions | <mda>/1024 <sc>/1024 | MULTI-ALA MultiDelivery/Split-Order Optionen Format: <sc><1>Kosten (und Steuerung) verfügbar</1><2>opt. verfügbar ab Menge</2><3>SampleCopy Menge</3></sc> Beispiel:
|
W2P |
| „y“: Artikel ist Web-to-Print-fähig |
W2PCost |
| (Optionale) Kosten bei Web-to-Print-Produkten |
SubscriptionProduct |
| „y“: Produkt kann nur über das ABO-Modul bestellt werden. „n“: Produkt kann nicht über das ABO-Modul bestellt werden (default). „b“: Produkt kann sowohl über das ABO-Modul, als auch einzeln im Shop bestellt werden. |
SubscriptionDiscount |
| Rabatt in Prozent bei Bestellung über das Abo-Modul (optional) |
CountryOfProductionList |
| kommaseparierte Liste an Ländern (3-stelliger ISO-Code), in denen das Produkt produziert werden kann oder kommaseparierte Liste an Produktionsstandorten in der Form 3ISO-ALPHANUM (ISO-Code, Trennzeichen Bindestrich, Alphanumerische Kennung des Produktionsstandorts). |
Glossary |
| Feld in dem (wie in der Produktbeschreibung) die Glossar-Funktion unterstützt wird. D. h. wenn in diesem Feld Wörter stehen, für die im “Glossar”-Dienst im OSB eine Erklärung eingepflegt ist, dann kann diese Erklärung im Shop angezeigt werden. |
GreetingProduct |
| y: Es handelt sich bei dem Produkt um ein Grußkarten-Produkt |
MainCategory | S1/64 | (Optionaler) Index der “Hauptkategorie” des Produkts. Wenn ein Produkt in mehreren Kategorien steht, dann beeinflußt dieses Feld die Generierung der (SEO-)URLs:
|
Nicht verwendete Felder können weggelassen werden, aber Sie sollten bei jedem Import die gleichen Felder in der gleichen Reihenfolge verwenden. Wenn Sie Felder hinzufügen, Felder löschen oder die Reihenfolge der Felder ändern, dann müssen die bereits im Shop gespeicherten Daten beim Import an die neuen Felder angepasst werden, was den Importvorgang erheblich verlängern kann.
Zusätzlich zu den oben aufgelisteten Feldern kann die Importdatei die im WSPManager für den Subshop angelegten freien Felder enthalten (Zulässige Zeichen/max. Länge: S1/16000). Die Spaltenüberschriften in der Importdatei müssen dabei den im WSPManager eingetragenen "Technischen Feldnamen" entsprechen.
Meta-Felder (strukturiert)
WEBSALE Meta-Felder werden auch als Mehr-Wert-Felder oder Mehr-Bereichsfelder bezeichnet, weil in ihnen mehrere Attribute (Werte) in einem Feld übergeben werden können.
Um die Tabellenstruktur schlank und übersichtlich zu halten, besitzen manche Felder eine zusätzliche innere Struktur, Dadurch können in einem Tabellenfeld eine von Produkt zu Produkt unterschiedliche Anzahl von Parametern und Werten angegeben werden, z. B. Staffelpreise.
BulkDiscount/Staffelpreise
Die Staffelpreise werden in folgendem Format in einem Tabellenfeld übergeben:
<g><1>Mengen-Typ 1</1><2>Menge 1</2><3>Preis 1</3><4>Preis-Typ 1</4><5>Grundpreis 1</5></g>
<g><1>Mengen-Typ 2</1><2>Menge 2</2><3>Preis 2</3><4>Preis-Typ 2</4><5>Grundpreis 2</5></g>
(Der Zeilenumbruch ist nicht Teil des Formats und dient nur der besseren Lesbarkeit.)
Jeder Datensatz wird von den Tags „<g>“ und „</g>“ umrahmt. Innerhalb des Datensatzes gibt es weitere Tags für Preis-Typ, Menge und Preise.
Tag | Bedeutung |
---|---|
1 | Der Mengen-Typ gibt an, ob der Preis ab der unter „<2>..</2>“ angegebenen Menge (=0) gilt oder genau bei dieser Menge (=1, „Stückelungspreis“). Im zweiten Fall wird der Preis nicht mehr mit der angegebenen Menge multipliziert, wenn das Produkt in den Warenkorb gelegt wird. |
2 | Die Menge als ganzzahliger Wert. |
3 | Der Preis bzw. der prozentuale Abschlag als Fließkommazahl. |
4 | Der Preis-Typ gibt an, ob der in <3></3> gespeicherte Wert ein absoluter Preis (=0) oder ein Abschlag in Prozent ist (=1). Bei der Verwendung von zeitabhängigen Preisen kann dieses Feld noch weitere Werte enthalten (siehe BulkDiscountPrices) |
5 | Der Grundpreis als Text, so wie er im Shop angezeigt werden soll, d. h. einschließlich der Einheit, auf die sich der Preis bezieht. Z. B. „5,99 EUR / kg“ |
Beispiel:<g><1>0</1><2>2</2><3>3.5</3><4>0</4><5>5,00 EUR / kg</5></g>
<g><1>0</1><2>4</2><3>1.9</3><4>0</4><5>2,71 EUR / kg</5></g>
(Der Zeilenumbruch ist nicht Teil des Formats und dient nur der besseren Lesbarkeit.)
BulkDiscountPrices/Aktionspreise
Aktionspreise können Sie verwenden, wenn Preise sowohl mengenabhängig als auch zeitabhängig sein sollen. Für jede Zeit-/Mengenstaffel wird dafür sowohl im Feld BulkDiscount als auch im Feld BulkDiscountPrices ein Eintrag benötigt.
BulkDiscount
Für jede Zeit-/Mengenstaffel muss zusätzlich zu den dort eventuell vorhandenen, zeitunabhängigen Staffelpreisen ein zusätzlicher Eintrag in das BulkDiscount-Feld eingefügt werden, der den folgenden Aufbau hat:
<g><1>Mengen-Typ 1</1><2>Menge 1</2><4>Preis-Typ 1</4></g>
<g><1>Mengen-Typ 2</1><2>Menge 2</2><4>Preis-Typ 2</4></g>
(Der Zeilenumbruch ist nicht Teil des Formats und dient nur der besseren Lesbarkeit.)
Der Aufbau entspricht weitgehend dem der „normalen“ Staffelpreise, mit dem Unterschied, dass der Tag „<3>“ komplett entfällt, und der Tag „<4>“ andere Werte enthält.
Tag | Bedeutung |
---|---|
1 | Der Mengen-Typ gibt an, ob der Preis ab der unter „<2>..</2>“ angegebenen Menge (=0) gilt oder genau bei dieser Menge (=1, „Stückelungspreis“). Im zweiten Fall wird der Preis nicht mehr mit der angegebenen Menge multipliziert, wenn das Produkt in den Warenkorb gelegt wird. |
2 | Die Menge als ganzzahliger Wert. |
4 | Das Feld kann folgende Werte enthalten: 2: Zeitabhängiger Preis |
Beispiel:<g><1>0</1><2>5</2><4>2</4>
BulkDiscountPrices
Für jeden zusätzlichen, zeitabhängigen Preis im „BulkDiscount“ Feld muss mindestens ein Eintrag in das Feld „BulkDiscountPrices“ eingefügt werden, der die eigentliche Zeitabhängigkeit und den Preis enthält.
Das Feld hat den folgenden Aufbau:
<aMenge><1>Start-Zeitpunkt</1><2>End-Zeitpunkt</2><3>Preis</3><4>Typ</4></aMenge>
<gMenge><1>Start-Zeitpunkt</1><2>End-Zeitpunkt</2><3>Preis</3><4>Typ</4></gMenge>
(Der Zeilenumbruch ist nicht Teil des Formats und dient nur der besseren Lesbarkeit.)
„Menge“ wird dabei durch die Menge ersetzt, die im Tag „<2>“ des zugehörigen Eintrags im „BulkDiscount“ Feld eingetragen ist.
Tag | Bedeutung |
---|---|
<a...> | Leitet den Eintrag ein und gibt gleichzeitig die Menge an, für die er gilt. <a20>...</a20> ist z. B. der Eintrag für die Menge 20 |
<g...> | Entspricht von der Funktion her dem Tag <a...>, bei Überschneidungen von Menge und Zeit werden allerdings vorrangig die <a...> Tags verwendet. |
1 | Der Start-Zeitpunkt als Unix-Zeit |
2 | Der End-Zeitpunkt als Unix-Zeit |
3 | Der Preis bzw. der prozentuale Abschlag als Fließkommazahl. |
4 | Entspricht dem Tag <4> im Feld „BulkDiscount“, d.h. kann folgende Werte enthalten: 2: Zeitabhängiger Preis |
Für jeden Eintrag im Feld BulkDiscountPrices muss es einen Eintrag im Feld BulkDiscount geben, der in der Menge und beim Wert des Tags <4> mit dem Eintrag in BulkDiscountPrices übereinstimmt.
<a5><1>1432652273</1><2>1432652283</2><3>10.00</3><4>2</4></a5>
Bemerkung:
Wenn mehrere Preise mit überlappenden Zeiträumen importiert werden, so wird im Shop der niedrigste Preis verwendet.
AltPrices
In diesem Feld können zusätzliche, zeitabhängige Preise importiert werden. Gibt es für den aktuellen Zeitpunkt keinen gültigen Preis, so wird stattdessen der unter „Price“ importierte Preis verwendet.
Sind mehrere Zeiträume gültig, so wird der niedrigste Preis verwendet.
Soll der Start- oder Endzeitpunkt nicht verwendet werden, so muss dort „0“ als Zeitpunkt eingetragen werden.
Die alternativen Preise werden in folgendem Format in einem Tabellenfeld übergeben:
<g><1>Start-Zeitpunkt</1><2>End-Zeitpunkt</2><3>Preis</3></g>
<g><1>Start-Zeitpunkt</1><2>End-Zeitpunkt</2><3>Preis</3></g>
(Der Zeilenumbruch ist nicht Teil des Formats und dient nur der besseren Lesbarkeit.)
Jeder Datensatz wird von den Tags „<g>“ und „</g>“ umrahmt, Innerhalb des Datensatzes gibt es weitere Tags für Start-Zeitpunkt, End-Zeitpunkt und Preis.
Tag | Bedeutung |
---|---|
1 | Der Start-Zeitpunkt im Unix-Format, Beispiel: „1210892400“ |
2 | Der End-Zeitpunkt im Unix-Format, Beispiel: „1240892400“ |
3 | Der Preis als Fließkommazahl, Beispiel: „2.50“ |
Analog zu den „alternativen Preisen“ können mit dem Tag „a“ auch „Aktionspreise“ definiert werden. Diese werden im angegebenen Zeitraum bevorzugt (d.h. vor den alternativen Preisen) verwendet.
Beispiel:<g><1>1210892400</1><2>1240892500</2><3>3.5</3></g><g><1>1240892401</1><2>1250892401</2><3>1.9</3></g><a><1>1210892450</1><2>1240892400</2><3>1.2</3></a>
OrgPrices
Das Format entspricht dem des Feldes AltPrices, allerdings gibt es im Feld OrgPrices keine Aktionspreise.
Beispiel:<g><1>1210892400</1><2>1240892500</2><3>3.5</3></g><g><1>1240892401</1><2>1250892401</2><3>1.9</3></g>
AreaProductPriceScale/Staffelpreise für Flächenprodukte
Mit diesem Feld können Staffelpreise für Flächenprodukte definiert werden. Staffelpreise für Flächenprodukte können nicht mit kundenabhängigen/preisgruppenabhängigen Preisen oder zeitabhängigen Preisen kombiniert werden.
Der Inhalt des Feldes muss in folgendem Format geliefert werden:
(<ab-Größe>:<Preis>)(<ab-Größe>:<Preis>)...
Beispiel:(0:12.99)(100:11.99)(199:10.99)(1000:8.99)
TextInputFields/Texteingabefelder
Hierzu kann der Besteller ein oder mehrere Eingaben zum Produkt (z. B. Texte zur Beflockung) hinterlegen.
Die Texteingabefelder werden in folgendem Format gespeichert:
<g>
<1>Beschriftung - Name des Texteingabefeldes</1>
<2>Anzahl sichtbare Zeichen</2>
<3>Anzahl Zeilen</3>
<4>Maximal Anzahl von Zeichen</4>
<5>Eingabe erforderlich</5>
</g>
<g>
...
(Die Zeilenumbrüche und Einrückungen sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Die Daten eines einzelnen Texteingabefeldes werden von den Tags „<g>“ und „</g>“ umrahmt. Innerhalb des Datensatzes gibt es weitere Tags für Beschriftung, Anzahl der sichtbare Zeichen, Anzahl Zeilen, die Maximal Anzahl von Zeichen und „Eingabe erforderlich“.
Tag | Bedeutung |
---|---|
1 | Die Beschriftung des Eingabefeldes im Shop. |
2 | Die Anzahl sichtbare Zeichen bzw. die Breite des Eingabefeldes. |
3 | Die Anzahl der Zeilen des Eingabefeldes. |
4 | Die maximale Zahl von Zeichen die der Kunde in das Feld eingeben kann. Die Angabe in diesem Tag wird nur bei einzeiligen Eingabefeldern verwendet. |
5 | Wenn in diesem Tag „y“ eingetragen wird, so muss der Kunde das Texteingabefeld ausfüllen. Bei jedem anderen Wert oder wenn das Tag komplett fehlt ist das Ausfüllen optional. |
Beispiel:<g><1>Aufdruck vorne</1><2>30</2><3>1</3><4>50</4><5>y</5></g><g><1>Aufdruck hinten</1><2>30</2><3>2</3></g>
Variations „normale Varianten“
Bei den normalen Varianten können nur einige Produktattribute von der Variante (Größe, Farbe, Höhe, Breite, etc.) abhängig sein.
Für die normalen Varianten gilt folgendes Format:
(Die Zeilenumbrüche und Einrückungen sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Tag | Bedeutung |
---|---|
vn | Umrahmt den Namen der Variation, also z. B. „Farbe“ |
ve | Umrahmt die Tags des Variationseintrags. |
1 | Enthält den Namen des Variationseintrags, z. B. „Rot“. |
2 | Aufpreis/Minderpreis wenn der entsprechende Eintrag ausgewählt ist. |
3 | (Teil-)Artikelnummer die in den Bestelldaten mit übergeben wird. |
4 | Wenn in diesem Tag „y“ eingetragen wird, so ist der Variationseintrag nicht bestellbar. Bei jedem anderen Wert oder wenn das Tag komplett fehlt ist der Eintrag bestellbar. |
5 | Wenn in diesem Tag „y“ eingetragen wird, so wird der Aufpreis/Minderpreis unabhängig von der bestellten Menge nur einmal berechnet. Bei jedem anderen Wert oder wenn das Tag komplett fehlt wird der Aufpreis/Minderpreis mit der bestellten Menge multipliziert. |
Beispiel:<g><vn>Farbe</vn><ve><1>Rot</1></ve><ve><1>Gelb</1><2>5.00</2><5>y</5></ve><ve><1>Grün</1><3>08-GR</3></ve></g>
DepVariations/DepVarFile, „abhängige Varianten“
Bei den abhängigen Varianten, können die meisten Produktattribute wie:
Preis
Produktnummer
Lagerbestand
Bebilderung
Bezeichnung/Beschreibung
etc.
von der Variante (Größe, Farbe, Höhe, Breite, etc.) abhängig sein.
Der Hauptteil der Daten von abhängigen Varianten wird je Produkt in einer eigenen „PRD-Datei“ gespeichert. Die wpupdate.csv/ wpcomplete.csv Dateien enthalten nur die Namen der verwendeten Varianten und einen Verweis auf die PRD-Datei.
Namen der Varianten
Die Namen der Varianten werden im Feld „DepVariations“ gespeichert, es hat folgenden Aufbau:
<g><vn>Variationsname 1</vn></g><g><vn>Variationsname 2</vn></g><g>...
Beispiel:<g><vn>Farbe</vn></g><g><vn>Größe</vn></g>
Bestellmengen als abhängige Varianten
In bestimmten Fällen kann es sinnvoll sein, die möglichen Bestellmengen über eine abhängige Variation zu realisieren. In diesem Fall wird der in der PRD-Datei angegebene Preis nicht mit der Menge multipliziert sondern unverändert im Shop angezeigt.
Ein Nachteil ist, dass sich die Größe der PRD-Dateien vervielfacht. Je nach dem wie viele andere Varianten und Variationseinträge das Produkt noch hat können schnell mehrere tausend Zeilen zusammenkommen, was zu einer spürbaren Verlangsamung der Onlineshops führen kann. Beachten Sie auch, dass je Produkt nicht mehr als 100000 abhängige Varianten importiert werden können.
Um einer Variation als Menge zu kennzeichnen muss ihr der Präfix „$1$“ vorangestellt werden.
Beispiel:<g><vn>Farbe</vn></g><g><vn>Größe</vn></g><g><vn>$1$Menge</vn></g>
Name der PRD-Datei
Der Verweis auf die PRD-Datei wird im Feld „DepVarFile“ abgelegt. Der Inhalt besteht aus dem Unterverzeichnis in dem die Datei liegt und dem Namen der Datei selbst.
Beispiel:deutsch_491.prd/PFLS744.prd
Die Namen der Verzeichnisse und der PRD-Dateien selbst werden nach einem fest vorgegebenen Schema gebildet.
Der Dateiname wird aus dem Produktindex + der Extension „.prd“ gebildet. Lautet also der Produktindex beispielsweise „ABCxyz“, so ist der Name der zugehörigen PRD-Datei „ABCxyz.prd“. Enthält der Produktindex Zeichen, die in Dateinamen nicht zulässig sind (\,/,:,*,?,“,<,>,|) so müssen diese „escaped“ werden. Das gleiche gilt für alle Zeichen mit ASCII-Code>127 (insbesondere Umlaute) und das Zeichen „%“.
Als Escape-Mechanismus wird der gleiche wie bei URLs verwendet, d. h. das unzulässige Zeichen wird durch „%“ + den zweistelligen Hexcode (in Kleinbuchstaben) des Zeichen-Codes ersetzt.
Aus dem Produktindex „123/abc“ würde sich also der PRD-Dateiname „123%2fabc.prd“ ergeben.
Es wird empfohlen den Produktindex so zu wählen, dass kein Escaping nötig ist.
Bitte beachten Sie, dass das vom Shop verwendete Dateisystem zwischen Groß- und Kleinschreibung unterscheidet. Wenn also der Produktindex „abc“ lautet, dann muss die PRD-Datei den Namen „abc.prd“ haben. Der Name „ABC.PRD“ wäre z. B. ungültig und würde zu Fehlern beim Anzeigen der abhängigen Varianten führen.
Der Name des Verzeichnisses ergibt sich aus dem Subshop des Produkts und einem aus dem Produktindex gebildeten Hash-Wert.
Verzeichnisname = <Subshop> + „_“ + Prodindex-Hash + „.prd“
Aus dem Produkt-Index wird zunächst der MD5-Hash-Wert gebildet. Die ersten zwei Bytes dieses Hash-Wertes werden als integer interpretiert (Byte1 + 256*Byte2) und modulo 1000 genommen.
Beispiel:
Produktindex:
Subshop:
MD5-Hash von „PFLQ444“:
Die ersten zwei Bytes modulo 1000:
Als Name des Verzeichnisses ergibt sich also
PFLQ444
deutsch
6B 42 57 5D BA 45 84 41 60 42 5A 82 55 7C F6 80
0x426B mod 1000 = 17003 mod 1000 = 3
„deutsch_3.prd“.
Der Inhalt der PRD-Dateien wird in einem eigenen Kapitel („PRD-Dateien“) beschrieben.
CrossLinks
Dieses Feld kann die Daten sowohl für "CrossLinks" als auch für die artverwandten Daten von "CrossSellingLinks" und von "Ersatzartikeln" enthalten.
Das Feld hat folgendes Format:
<g><1>Produktindex</1><2>Kategorieindex</2><3>Link-Typ</3><4>Produktnummer (nur bei Verlinkung auf Variante)</4></g><g>...
Tag | Bedeutung |
---|---|
1 | Der Produktindex des Produkts, das angezeigt werden soll, wenn auf den (Cross-)Link geklickt wird. |
2 | Der Index der Kategorie, die geöffnet werden soll, wenn das verlinkte Produkt angezeigt wird. Das Produkt muss selbstverständlich in dieser Kategorie enthalten sein. Es empfiehlt sich, dieses Feld zu füllen, wenn das verlinkte Produkt in mehreren Kategorien steht. |
3 | Der „Typ“ des Links, folgende Werte sind möglich: |
4 | Hier kann zusätzlich zu dem in <1> übergebenen Produktindex die Produktnummer einer Variante übergeben werden, auf die verlinkt werden soll. |
Beispiel:<g><1>23110001</1><3>2</3></g><g><1>23474</1><2>3121-34</2><3>2</3></g>
Inventory (Lagerbestandsverwaltung aktivieren)
Dieses Feld enthält den statischen Teil der Lagerbestandsdaten (Aktivierung der Lagerbestandsverwaltung, Limits, Status-Texte etc.).
Die Übergabe des eigentlichen Lagerbestandes erfolgt über eine separate Lagerbestandsdatei: siehe Lagerbestände (amountupdate.csv)
Das Feld hat folgenden Aufbau:
(Die Zeilenumbrüche sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Tag | Bedeutung |
---|---|
1 | „y“, wenn die Lagerbestandsverwaltung für diesen Artikel aktiv ist. Bei jedem anderen Wert oder wenn der Tag komplett fehlt ist die Lagerbestandsverwaltung inaktiv. Wird “n” oder leer übergeben, dann kann kein Lagerbestand greifen. |
11 | Die Stückzahl ab der im Shop der Ampelstatus „rot“ angezeigt werden soll. |
12 | Die Stückzahl ab der im Shop der Ampelstatus „gelb“ angezeigt werden soll. |
13 | „y“, wenn das Produkt auch beim Ampelstatus „rot“ noch bestellbar sein soll. Bei jedem anderen Wert oder wenn der Tag komplett fehlt ist das Produkt bei Ampelstatus „rot“ nicht mehr bestellbar. |
21 | Lieferstatus-Text für Ampelstatus grün. Fehlt dieser Tag oder ist der Wert leer, so wird der für den Subshop konfigurierte Text verwendet. |
22 | Lieferstatus-Text für Ampelstatus gelb. Fehlt dieser Tag oder ist der Wert leer, so wird der für den Subshop konfigurierte Text verwendet. |
23 | Lieferstatus-Text für Ampelstatus rot. Fehlt dieser Tag oder ist der Wert leer, so wird der für den Subshop konfigurierte Text verwendet. |
24 | In diesem Feld lässt sich ein Ampelstatus angeben, der unabhängig vom Lagerbestand angezeigt wird. Folgende Werte sind möglich: 1: Grün |
25 | Dieses Feld ist nur für Set-Oberartikel von Bedeutung. Normalerweise wird für einen Set-Oberartikel kein Lagerbestand übergeben, stattdessen wird er vom Shop automatisch aus den Lagerbeständen der Set-Unterartikel berechnet. Besteht ein Set z. B. aus einer Taschenlampe und zwei Batterien, dann wäre der Lagerbestand des Set-Oberartikels 5, wenn noch 7 Taschenlampen und 10 Batterien auf Lager sind. |
Beispiel:<1>y</1><11>0</11><12>10</12><21>sofort lieferbar</21><22>sofort lieferbar</22><23>leider vergriffen</23>
Download-Artikel
Dieses Feld enthält die für Download-Artikel nötigen Daten, es hat folgenden Aufbau:
(Der Zeilenumbruch ist nicht Teil des Formats und dient nur der besseren Lesbarkeit.)
Tag | Bedeutung |
---|---|
1 | „y“, wenn das Produkt als „Download-Artikel“ behandelt werden. Bei jedem anderen Wert oder wenn das Tag komplett fehlt, wird nach der Bestellung kein Download angeboten. |
2 | Der Name der Datei, die nach der Bestellung des Produkts heruntergeladen werden kann, für den Namen sollten nur kleine Buchstaben verwendet werden. Je Produkt kann nur eine Datei angegeben werden. Sollen für ein Produkt mehrere Dateien geladen werden können, so müssen diese in einem Archiv zusammengepackt werden. |
3 | Die Zeit in Stunden, die dem Kunden nach dem Kauf des Produkts zur Verfügung steht um die Datei zu laden. Fehlt dieser Tag, so ist der Download zeitlich unbegrenzt. |
4 | Die Anzahl der Downloads, die nach dem Kauf des Produkts durchgeführt werden kann. Fehlt dieser Tag, so kann der Download beliebig oft durchgeführt werden. |
5 | „y“, wenn der Shopbetreiber den Download nach dem Kauf des Produkts noch manuell freigeben muss. |
Beispiel:<1>y</1><2>download.zip</2><3>48</3><4>10</4>
Set
Dieses Feld enthält die Set-Unterartikel eines Sets, es hat folgenden Aufbau:
(Die Zeilenumbrüche sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Tag | Bedeutung |
---|---|
1 | Der Produktindex des Set-Unterartikels. |
2 | „y“, wenn der Preis des Unterartikels zu dem des Oberartikels addiert werden soll. Bei jedem anderen Wert oder wenn der Tag komplett fehlt wird Preis des Unterartikels nicht verwendet. |
3 | Gibt die Stückzahl des Unterartikels innerhalb des Sets an. |
4 | „y“, wenn der Unterartikel nicht im Shop angezeigt werden soll. Diese Option ist für Artikel gedacht, die nur für interne Verwaltungszwecke verwendet werden. Derartig verwendete Artikel dürfen keine Felder enthalten, die eine Eingabe oder Auswahl durch den Kunden erfordern (Varianten, Texteingabefelder usw.). |
5 | „y“, wenn der Unterartikel unabhängig von der Bestellmenge nur einmal zum Set beigesteuert werden soll. Beispiel: Als Stückzahl des Unterartikels ist 2 eingetragen und ein Kunde bestellt 5 Sets. Wenn das Flag „Einmalig beisteuern“ nicht gesetzt wäre, dann würde er 10 Stück des Unterartikels erhalten. Ist das Flag gesetzt, so erhält er nur 2. |
Beispiel:<g><1>DA634108</1><3>1</3><5>y</5></g><g><1>DA613740</1><2>y</2><3>2</3></g><g><1>AA650659</1><3>1</3></g>
SetConfiguration
Dieses Feld enthält eine Metadatenstruktur, die zusätzliche Optionen zu den Setartikeln enthält.
Derzeit kann dieses Feld nur ein Tag enthalten:
Tag | Bedeutung |
---|---|
IgnoreChildInventory | „y“: Die gesamte Lagerbestandsverwaltung der Setunterartikel wird deaktiviert. |
Beispiel:<IgnoreChildInventory>y</IgnoreChildInventory>
ChildProducts
Dieses Feld enthält die Daten der Gruppierungs-Unterartikel. Es hat den gleichen Aufbau wie das CrossLinks-Feld, als Typ wird „0“ eingetragen.
ProductComparisonFields/Vergleichsfelder
Mit ProductComparisonFields lassen sich die Felder importieren, die beim Produktvergleich im Shop verwendet werden können. Die Vergleichseigenschaft wird aus dem (freien) Feld mit dem technischen Namen gelesen.
Es hat folgenden Aufbau (alte Logik):
(Die Zeilenumbrüche und Einrückungen sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Beispiel:<g><1>MerchantName</1></g><g><1>Width</1></g>
Tag | Bedeutung |
---|---|
g | Umrahmt die Daten eines Feldes |
1 | Enthält den technischen Feldnamen des Vergleichsfeldes |
Parallel zu der “alten“Logik kann das ProductComparisonFields erweitert werden, wodurch unterschiedliche Vergleichsattribute in den selben freien Feldern gepflegt werden können:
(Die Zeilenumbrüche und Einrückungen sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Beispiel:
<g><1></1><2>alternative-MerchantName</2><3>Hersteller</3></g>
Tag | Bedeutung |
---|---|
g | Umrahmt die Daten eines Feldes |
1 | Enthält die technische ID des Vergleichsfeldes (optional) |
2 | Alternatives Feld für den (technischen) Feldnamen, wenn der angezeigte Name vom technischen Feldnamen abweichen soll |
3 | Im Shop angezeigter Feldname, wenn Tag 2 gefüllt ist |
Ist kein technischer Feldname in <1> angegeben wird die Beschreibung des Vergleichsfeldes (in <3>) verwendet.
Die Vergleichseigenschaft wird aus dem freien Feld mit dem technischen Namen wie unter<2> angegeben gelesen.
Alte und neue Logik können auch gemischt werden, sowohl zwischen unterschiedlichen Produkten als auch innerhalb des Felds "ProductComparisonFields".
AreaProductRange/Optionen für Flächenprodukte
Bei Flächenprodukten kann der Kunde bei der Bestellung im Shop die Abmessungen des Produkts eingeben, also z. B. Höhe 2m, Breite 1,5m. Der Shop berechnet aus den Abmessungen die Fläche und multipliziert sie mit dem "Einzelpreis" des Produkts, um den finalen Preis zu ermitteln.
Ob ein Produkt ein "Flächenprodukt" ist, wird in dem Feld "AreaProduct" angegeben (siehe "Standardfelder").
In dem erweiterten Feld "AreaProductRange" werden zusätzliche Beschränkungen der Abmessungen importiert, so dass der Kunde im Shop z. B. nur Breiten eingeben kann die zwischen 0,5 und 2,5m liegen.
Da Flächenprodukte normalerweise nicht in beliebigen Abmessungen lieferbar sind müssen alle vier Felder gefüllt werden, ansonsten lässt sich das Produkt im Shop nicht bestellen.
Das Feld hat folgenden Aufbau:
(Die Zeilenumbrüche sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
Beispiel:<minlen>1.5</minlen><maxlen>2.5</maxlen><minwidth>0</minwidth><maxwidth>3</maxwidth>
VariationsOverview/VariationsOverviewMatrix/Bekleidungsmodul
Die Daten in diesen beiden Feldern ermöglichen es dem Shop auch bei nur teilweise aufgelösten abhängigen Varianten ein passendes Bild anzuzeigen. Dies ist bei der Suche nach Produkten der Fall (z. B. Suche nach "Hose rot"), bei Kategoriefiltern (z. B. Filterung nach roten Produkten) und bei der Suche nach Teilartikelnummern.
Weiterhin ermöglichen es diese Daten bei der Variantenauswahl Bilder des Produkts anzuzeigen, also z. B. statt einer Auswahlliste mit "rot" und "grün" zwei Bilder auf denen das Produkt jeweils in "rot" und "grün" abgebildet ist.
Die Anzahl der Varianten für dieses Feature ist auf maximal 2 beschränkt.
VariationsOverview
Dieses Feld enthält Namen und Werte der Varianten, sowie für jeden Wert die anzuzeigenden Bilder und einen (optionalen) anzuzeigenden Text.
Tag | Unterelement/ -tag von | Zulässige Zeichen/ | Bedeutung |
---|---|---|---|
g | - | S1/max. 2 Einträge | Umrahmt die Daten einer Variation |
vn | g | S1/64 | Name der Variation |
vc | g | S3/64 | Eindeutiger/sprachunabhängiger Code der Variante |
ve | g | S1/max. 25 Einträge | Umrahmt die Daten eines Variationseintrags bzw. -wertes |
1 | ve | S1/128 | Variationswert |
2 | ve | S3/64 | Eindeutiger/sprachunabhängiger Code des Variationswertes |
3 | ve | S1/64 | Produktnummer (des ersten passenden Produkts mit dem Variationswert) |
4 | ve | S1/64 | Teilartikelnummer (optional) |
5 | ve | S2/128 | Großbild |
6 | ve | S2/128 | Normalbild |
7 | ve | S2/128 | Thumbnail |
8 | ve | S2/128 | Mini-Thumbnail |
9 | ve | S1/64 | Text (optional) |
Beispiel:
(Die Zeilenumbrüche und Einrückungen sind nicht Teil des Formats und dienen nur der besseren Lesbarkeit.)
VariationsOverviewMatrix
Dieses Feld enthält in kompakter Form ("Matrix") die zulässigen Kombinationen der Variationswerte und die zugehörigen Produktnummern. Dabei entsprechen die Werte der ersten Variante den Spalten und die Werte der zweiten Variante den Zeilen. In den Zellen der Matrix steht entweder die Nummer des zu der Kombination gehörenden Produkts oder ein leerer Wert, wenn es zu der Kombination kein passendes Produkt gibt.
Beispiel: Die erste Variante ist "Größe" und hat die Werte "S", "M" und "L", die zweite Variante ist "Farbe" und die Werte "rot" und "grün".
Dann könnte die Matrix so aussehen:
| S | M | L |
---|---|---|---|
rot | 1234-s-r | 1234-m-r | 1234-l-r |
grün | 1234-s-g |
| 1234-l-g |
In dem eigentlichen Feldwert von "VariationsOverviewMatrix" werden die Variationswerte weggelassen, die Spalten durch "|" Zeichen voneinander getrennt und die Zeilen durch ein ">" Zeichen.
Für das Beispiel oben ergibt sich also folgender Feldwert:
1234-s-r|1234-m-r|1234-l-r>1234-s-g|1234-l-g
Eine Escape-Mechanismus für die Zeichen "|" und ">" ist nicht vorgesehen, d. h. bei Verwendung des "Bekleidungsmoduls" dürfen diese Zeichen in Produktnummern nicht vorkommen.
Bekleidungsmodul und PRD-Dateien
Bei Verwendung des Bekleidungsmoduls mit zwei Varianten müssen die Zeilen in der PRD-Datei nach den Werten der ersten Variante sortiert sein. Die Reihenfolge (z. B. aufsteigend oder absteigend) ist dabei nicht relevant, wichtig ist nur, dass Zeilen mit gleichen Variationswerten zusammenstehen.
Beispiel "richtig":
Beispiel "falsch":
InstantVoucherProduct/Gutscheinprodukte
In diesem Feld werden die Daten für Gutscheinprodukte übergeben, d. h. von Produkten, mit denen ein Kunde im Shop Gutscheine kaufen kann.
Tag | Unterelement/ | Zulässige Zeichen/ | Bedeutung |
---|---|---|---|
g | - | S1 | Umrahmt die übrigen Tags |
1 | g | S1/1 | „y“: Gutscheinprodukt ist aktiv „n“: Gutscheinprodukt ist inaktiv bzw. kein Gutscheinprodukt. Alle weiteren Felder werden ignoriert. |
2 | g | S1 | Die Chargen-ID |
3 | g | S1/1 | „y“: Der Wert des Gutscheins entspricht dem Produktpreis. Ein evtl. vorhandener Vorlagenwert bzw. Gutscheinwert aus einem Pool wird überschrieben. „n“: Der Wert des Gutscheins ist der Vorlagenwert bzw. der Gutscheinwert aus einem Pool |
4 | g | S1/1 | „y“: Gutscheinnummer soll neu generiert werden „n“: Gutscheinnummer soll aus einem vorhandenen Gutscheinnummern-Pool genommen werden |
Beispiel: <g><1>y</1><2>Kaufgutscheine</2><3>y</3><4>y</4></g>
Typen der freien Felder
Neben dem Namen kann beim Anlegen eines freien Feldes im WSPManager auch ein "Typ" angegeben werden.
Bei den Typen "Text Aufzählung" und "Meta-Feld" muss das Format der Felder beachtet werden, alle anderen Typen können beliebigen Text enthalten.
Text Aufzählung
Die einzelnen Punkte der Aufzählung müssen mit <g></g> umrahmt werden.
Beispiel:<g>Punkt 1</g><g>Punkt 2</g>
Meta-Feld
Mit einem Meta-Feld können Sie mehrere Produktattribute in ein einzelnes Feld schreiben, diese Attribute können dann im Shop einzeln angezeigt werden.
Die einzelnen Werte werden jeweils von Tags umrahmt, die aus der fortlaufenden Nummer des Produkt-Attributs gebildet werden.
Beispiel:<1>Feature-Beschreibung</1><2>BildZumFeature.jpg</2><3>PDFZumFeature.pdf</3>
Produktdaten und Variationswerte für abhängige Varianten (PRD-Dateien)
Zu jedem Produkt mit abhängigen Varianten muss eine eigene PRD-Datei erzeugt werden. Inhalt der Datei sind die Werte der abhängigen Varianten und die abweichenden Produktdaten. Der Name und das Verzeichnis der Datei entspricht dem im Feld „DepVarFile“ eingetragenen Werte in der wpupdate.csv/wpcomplete.csv Datei.
Variationswerte
Die Variationswerte werden in Spalten übergeben deren Überschrift mit dem Präfix „$Var_“ beginnt. Die verschiedenen Werte für die Variation „Größe“ würden also z. B. in der Spalte „$Var_ Größe“ stehen.
Für jede im Feld „DepVariations“ der wpupdate.csv/wpcomplete.csv angegebene Variation muss es in der PRD-Datei des Produktes eine zugehörige Spalte geben.
Wichtig: Die Reihenfolge der „$Var_“ Spalten muss die gleiche sein wie im „DepVariations“ Feld der wpupdate.csv/wpcomplete.csv. Enthält „DepVariations“ also z. B. den Wert „<g><vn>vn1</vn></g><g><vn>vn2</vn></g>“ so muss in der PRD-Datei die Spalte „$Var_vn1“ vor bzw. links von der Spalte „$Var_vn2“ stehen.
Beachten Sie, dass die Reihenfolge, in der die Variationswerte in der PRD-Datei stehen auch bestimmt, in welcher Reihenfolge die Werte im Online-Shop zur Auswahl angeboten werden.
„Unbenutzte“ Variationswerte
Gelegentlich kann es vorkommen, dass manche der Varianten im Shop übersprungen werden sollen.
Beispiel: Sie bieten in Ihrem Shop Handys an, wahlweise mit oder ohne Vertrag. Eine der abhängigen Varianten hätte dementsprechend die Werte „Mit Vertrag“ und „Ohne Vertrag“. Weitere Varianten wären „Netz“ (z. B. „T-Mobile“) und „Farbe“. Sobald nun der Kunde den Variationseintrag „Ohne Vertrag“ auswählt macht es keinen Sinn mehr ihn nach dem gewünschten Netz zu fragen. Diese Variation sollte im Shop in diesem Fall gar nicht erst angezeigt werden, der Kunde sollte nur noch die gewünschte Farbe auswählen müssen.
Für solche Fälle kann der Spezialwert „$_$“ für einen Variationswert importiert werden um diesen als unbenutzt zu kennzeichnen.
Der relevante Teil der PRD-Datei könnte für diesen Fall beispielsweise so aussehen:
Beachten Sie, dass Sie den Wert „$_$“ nicht mit anderen, normalen Variationseinträgen mischen können. Folgende Zeilen in der obigen Beispieldatei wären also fehlerhaft:
Die Werte für die erste Variation sind in diesen beiden Zeilen gleich. Da für die zweite Variation der Wert „$_$“ verwendet wird muss dieser Wert für alle Zeilen verwendet werden die als Wert für die erste Variation „Ohne Vertrag“ haben.
Soll „$_$“ als Wert für die dritte oder eine folgende Variation verwendet werden, so gilt diese Logik analog.
Abweichende Produktdaten
Neben den Variationswerten können in der PRD-Datei auch (von den Daten in der wpupdate.csv/wpcomplete.csv) abweichende Produktdaten stehen. Die Spaltenüberschriften und Datenformate in der PRD-Datei entsprechen denen in der wpupdate.csv/wpcomplete.csv.
Wenn eine Spalte mit einem Produktdatenfeld vorhanden ist, so überschreiben die dort angegebenen Werte die in der wpupdate.csv/wpcomplete.csv angegebenen, sobald der Kunde im Shop den entsprechenden Variationseintrag ausgewählt hat. Dies gilt auch dann, wenn der Wert leer ist!
Wenn Sie für einzelne Einträge in der PRD-Datei nicht wollen, dass der Wert aus der wpupdate.csv/wpcomplete.csv überschrieben wird, so können Sie dies erreichen, indem Sie einen Bindestrich („-“) als Wert eintragen.
Einige wenige Produktdatenfelder sind von der Verwendung in den PRD-Dateien ausgenommen:
BestPrice
ChildProducts
DepVarFile/DepVariations
Event
EventDiscount
EventProductNumber
InsertList
License
SearchItems
Test
Variations
ValidUntil
ValidFrom
Schließlich gibt es in der PRD-Datei noch ein Feld „VarIndex“ dessen Bedeutung analog zum Feld „Prodindex“ in der Datei wpupdate.csv/wpcomplete.csv ist. Der Inhalt dieses Feldes muss Subshop-weit eindeutig sein.
Beispiel:
In diesem Beispiel werden die Produktnummern und die Produktbilder an den ausgewählten Variationseintrag angepasst. Für den Eintrag L/gelb ist als Wert „-“ eingetragen, das bedeutet wenn dieser Eintrag gewählt wird, dann wird im Shop das in der wpupdate.csv/wpcomplete.csv Datei eingetragene Bild angezeigt.
Für ein Produkt können maximal 100000 abhängige Varianten importiert werden. Es wird jedoch empfohlen deutlich unter diesem Limit zu bleiben, da der Onlineshop bereits bei mehr als 10000 abhängigen Varianten spürbar langsamer wird, d.h. der Kunde im Shop nach jeder Auswahl mehr oder weniger lange warten muss, bis die angezeigte Seite aktualisiert wird.
Löschen von Produktdaten (wpdelete.csv)
Diese Datei enthält Produkte, die aus dem Subshop gelöscht werden sollen. Die Datei enthält eine einzige Spalte mit dem Namen „ProdIndex“.
Beispiel:ProdIndex
123-abc
789-xyz
Produkt-Kategorie-Zuordnungen
Anlegen und Ändern (catupdate.csv/catcomplete.csv)
Diese Dateien enthalten die Zuordnungen der Produkte zu den Kategorien im Subshop. Beim Import der Datei catupdate.csv wird nur der Inhalt der in der Datei aufgeführten Kategorien aktualisiert. Der Inhalt aller anderen Kategorien bleibt unverändert. Beim Import der Datei catcomplete.csv dagegen wird der Inhalt der Kategorien gelöscht, für die in der Datei keine Daten geliefert werden, d.h. diese Datei muss alle Produkt-Kategorie-Zuordnung für den Subshop enthalten.
Das Format der beiden Dateien ist identisch, sie enthalten folgende Felder:
Name | Beschreibung | Zulässige Zeichen/ | Pflichtfeld |
---|---|---|---|
CatIndex | Der Index der Kategorie der Produkte zugewiesen werden sollen. | S1/64 | ja |
ProdIndex | Der Index des Produkts das der Kategorie zugewiesen werden soll. | S1/64 | ja |
Order | Eine optionale Zahl zur Festlegung der Reihenfolge der Produkt in der Kategorie. Wenn dieses Feld vorhanden und gefüllt ist, so werden Produkte aufsteigend nach dieser Zahl sortiert. | I | nein |
Beispiel:
Bemerkungen:
Wenn für eine Kategorie Daten geliefert werden, dann müssen alle Zuordnungen geliefert werden. Zuordnungen, die nicht in der Datei vorhanden sind, werden aus der Kategorie gelöscht.
Eine explizite Angabe der Reihenfolge ist optional. Wenn das Feld „Order“ fehlt, werden die Produkte in der Reihenfolge in den Shop eingelesen in der sie in der Datei stehen.
Für die in einer catcomplete.csv vorhandenen Produkte müssen die zugehörigen Produktdaten in der wpcomplete.csv (und eventuell nötigen PRD-Dateien) geliefert werden.
Für die in einer catupdate.csv vorhandenen Produkte müssen die zugehörigen Produktdaten in der wpupdate.csv und (eventuell nötigen PRD-Dateien) geliefert werden, sofern die Produkte nicht bereits im Shop vorhanden sind.
Wenn möglich empfiehlt es sich die Daten der in der catupdate.csv vorhandenen Produkte trotzdem immer mit der zugehörigen wpupdate.csv Datei zu importieren. Ein Vorteil dieser Vorgehensweise ist, dass der Import schneller geht, da ein Zugriff auf einzelne Produkte im Shop langsamer ist als auf die Produktdaten in den Importdateien.
Weiterhin ist es für das System das die Importdateien erstellt eine schwierige Aufgabe darüber Buch zu führen, welche Produkte denn schon im Shop vorhanden sind, so dass leicht Fehler entstehen können, die zu fehlenden Produkten im Shop führen.
Löschen von Produkt-Kategorie-Zuordnungen (catdelete.csv)
Diese Datei ermöglicht es alle Produktzuordnungen aus einer Kategorie zu löschen ohne deshalb sämtliche Zuordnungen mit der Datei catcomplete.csv neu einlesen zu müssen. Mit der catupdate.csv ist dies nicht möglich, da der Inhalt von Kategorien, die nicht in dieser Datei auftauchen, unverändert bleibt.
Die Datei enthält eine einzelne Spalte mit dem Namen „CatIndex“, die den Kategorieindex derjenigen Kategorien enthält, aus denen alle Produkte entfernt werden sollen.
Beispiel:CatIndex
cat-1
cat-2
Kategoriedaten (catcomplete.xml)
Sie können die Kategoriedaten entweder im WSPManager pflegen oder über die Datei „catcomplete.xml“ importieren. Welche der beiden Möglichkeiten aktiv ist wird bei der Freischaltung festgelegt. Falls Sie von manueller Pflege auf Import (oder umgekehrt) umstellen möchten, dann müssen Sie sich an die WEBSALE AG wenden.
Im Falle der Pflege der Kategoriedaten mit dem WSPManager muss diese auf dem gleichen PC erfolgen auf dem auch der Import erfolgt.
Bei der Import-Lösung muss die Datei "catcomplete.xml" die vollständige Kategoriestruktur des Shops enthalten. Kategorien die nicht in dieser Datei stehen werden beim Import gelöscht.
Als einzige Importdatei hat die „catcomplete.xml“ ein XML-Format, da dieses Format für hirarchische Strukturen mit vielen optionalen Feldern kompakter ist.
Das Wurzelelement der Datei heißt „categories“, darunter liegt das Element „menucategories“ und das optionale Element „nomenucategories“. Unterhalb von „menucategories“ liegen die „category“ Elemente mit den eigentlichen Kategoriedaten.
Unterhalb von „nomenucategories“ können die Daten der „Happy Hour“ Kategorien übergeben werden. Andere Kategorien sollten dort nicht stehen.
Die Daten der Kategorien werden als Attribute oder als Unterelemente des „category“ Tags übergeben. Unterkategorien werden ebenfalls als Unterelemente importiert.
Das „category“ Tag hat folgende Attribute:
Name | Beschreibung | Zulässige Zeichen/ | Pflichtfeld |
---|---|---|---|
index | Der Kategorieindex, also eine eindeutige ID für die Kategorie, z. B. „775-1397“. Bitte beachten Sie, dass ein Kategorieindex weder Komma („,“) noch Pipe („|“) Zeichen enthalten darf. Die Verwendung von Sonderzeichen (ASCII-Code>127) und Leerzeichen ist zwar erlaubt, aber nicht zu empfehlen. | S1/64 | ja |
name | Der Name der Kategorie, z. B. „Bekleidung“ | S1/64 | ja |
type | Folgende Werte sind möglich: image: Die Kategorie wird als Trenngrafik importiert, d.h. als Kategorie ohne Produkte oder Unterkategorien, die nur dazu dient das Produktmenü optisch zu gestalten. link: Die Kategorie wird als HTML-Link importiert, d.h. beim Klick auf die Kategorie wird eine Seite außerhalb des Shops angezeigt, z. B. „http://www.ibm.de “. event: Die Kategorie wird als "Happy Hour" Kategorie importiert (siehe auch '"Happy Hour" Kategorie') Wird kein Wert für „type“ angegeben, so wird eine normale Kategorien angelegt, d.h. eine Kategorie, die Produkte und Unterkategorien enthalten kann. |
| nein |
Folgende (optionale) Unterelemente kann das „category“ Tag enthalten:
Name | Beschreibung | Definition |
---|---|---|
imgopen | Navigationsgrafik geöffnet | S2/128 |
imgclosed | Navigationsgrafik geschlossen | S2/128 |
imgselected | Navigationsgrafik ausgewählt | S2/128 |
imgadvnav | Erweitertes Navigationsbild | S2/128 |
imgoverview | Übersichtsbild | S2/128 |
descr | Beschreibung | S1/1000 |
longdescr | Langbeschreibung | S1/4000 |
prodtemplate | Design-Datei (Einzelprodukt) | S2/128 |
template | Design-Datei (Liste) | S2/128 |
trsearch | Abweichender Kategoriename für TopRank | S1/64 |
eventrotationtime | Nur für Happy Hour: Anzahl der Stunden nach den die Produkte rotiert werden sollen | I/3 |
eventproducts | Nur für Happy Hour: Zahl der gleichzeitig sichtbaren Produkte | I/3 |
target | Nur für Kategorien vom Typ „link“: Das „target“ Attribut das in dem „<a href...“ HTML-Tag des Links verwendet wird | S2/128 |
url | Nur für Kategorien vom Typ „link“: Die URL die beim Klick auf die Kategorie aufgerufen werden soll | S2/128 |
hide | Im Shopmenü versteckt y/n (y=ja), default: n | - |
test | Testmodus y/n (y=ja), default: n. Kategorien im Testmodus sind im Shop nicht aktiv, d.h. sie werden vom Shop behandelt als würden sie nicht existieren. Durch einen Zusatz in der Aufruf-URL (...&test=on) des Shops lassen sich diese Kategorien zu Testzwecken einblenden. | - |
froogle | Für Froogle/PricePush verwenden y/n (y=ja) default: y | - |
validfrom | Datum/Uhrzeit, ab der die Kategorie im Shop angezeigt werden soll. Format: YYYYMMDDhhmmss | - |
validuntil | Datum/Uhrzeit bis zu der die Kategorie im Shop angezeigt werden soll. Format: YYYYMMDDhhmmss | - |
usergroupproduct | Kommagetrennte Liste der Produktkundengruppen, für die die Kategorie sichtbar ist. Es müssen dabei die Indizes der Gruppen übergeben werden (z. B. „1,2“) nicht die Namen der Gruppen wie sie im WSPManager konfiguriert sind. Der Index ist einfach die Nummer (ab 1 gezählt) in der Liste der Gruppen so wie sie im WSPManager unter Shop-Einstellungen/Kundengruppen angezeigt wird. | S1/4000 |
teaserlist | Eine zusätzliche Liste von „Teaser“ Produkten, die für diese Kategorie zusätzlich angezeigt bzw. nochmal besonders hervorgehoben werden sollen. Die Teaser-Produkte brauchen der Kategorie nicht über die catupdate.csv/catcomplete.csv zugewiesen werden, weiterhin kann ihnen ein Bild zugewiesen werden, dass vom normalen Produktbild abweicht. Format: Die Felder Bild und Kategorieindex sind optional. Wird ein Bild angegeben so muss die zugehörige Bilddatei im Verzeichnis „.../benutzer/navigation/grafiken“ abgelegt werden. Der Kategorieindex braucht nur angegeben zu werden, wenn das Produkt mehreren Kategorien zugeordnet ist und beim Klick auf das Produkt eine bestimmte Kategorie geöffnet werden soll. Da es sich bei der catcomplete.xml um eine XML-Datei handelt müssen die „<“ Zeichen entweder durch „<“ ersetzt werden oder das gesamte Feld in <![CDATA[...]]> eingefasst werden. Beispiel 1: Beispiel 2: | max. 10 Produkte |
css-name | Für die Kategorie zu verwendende Style-Sheet-Datei | S2/128 |
freefield1 … freefield20 | Freie Felder für die Kategorie, die mit den Tags ~Cat-FreeField1~ ... ~Cat-FreeField10~ in einem Template angezeigt werden können. | S1/4000 |
filter | Legt fest, ob und welche Filter für die Kategorie im Online-Shop angeboten werden. Mögliche Werte: n: Keine Filter anbieten | S1/1 |
filter1 … filter10 | Wenn der Wert von „filter“ auf „y“ gesetzt wurde, dann können hier die Namen der Felder angegeben werden, die für die Filterung angeboten werden. Verwenden Sie dazu die „technischen Feldnamen“, so wie sie auch beim Import der Produktdaten benutzt werden. Beispiel: | S1/64 |
realindex | Mit diesem Feld lässt sich erreichen, dass in einer Kategorie die Produkte einer anderen Kategorie angezeigt werden. Dazu wird in „realindex“ der Kategorieindex der Kategorie eingetragen aus der die Produkte übernommen werden sollen. Einer Kategorie bei der ein „realindex“ gesetzt ist („Virtuelle Kategorie“) können keine weiteren Produkte zugewiesen werden. | S1/64 |
Beispiel:
Versteckte Kategorien
Der Import von versteckten Kategorien erfolgt genauso wie der Import von Kategorien die im Shopmenü angezeigt werden sollen, mit dem einen Unterschied, dass für diese Kategorien im Unterelement „hide“ der Wert „y“ übergeben werden muss.
Beispiel:
In diesem Beispiel wird die Kategorie „Show in Menu“ im Shopmenü angezeigt, die Kategorie „Do not show in Menu“ nicht.
Lagerbestände (amountupdate.csv)
Diese Datei enthält die Lagerbestände für die Produkte. Im Gegensatz zu den meisten anderen Importdateien wird diese Datei nur einmal je Shop importiert, gilt also für alle Subshops.
Hintergrund ist die Überlegung, dass in verschiedenen Subshops angebotene Produkte normalerweise im gleichen Lager liegen. Würde der Lagerbestand je Subshop verwaltet werden, so würde im Shop mit einem fehlerhaften Bestand gerechnet werden. Beispiel: Ein Shop hat die beiden Subshops „deutsch“ und „englisch“, das Produkt „abc“ hat einen Lagerbestand von „5“. Würde der Bestand in den beiden Subshops getrennt verwaltet werden, so könnten im Online-Shop 10 Stück des Produkts „abc“ verkauft werden, obwohl nur 5 Stück vorhanden sind.
Soll die Lagerbestandsverwaltung für unterschiedliche Subshops getrennt werden, so kann man dies erreichen, in dem man den Produkten je Subshop unterschiedliche Lagerartikelnummern gibt, z. B. „abc-deutsch“ für den deutschen Subshop und „abc-englisch“ für den englischen Subshop.
Die Datei enthält folgende Felder:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
StoreId | S4/64 | Produktindex oder Lagerartikelnummer |
Amount | I/7 | Die vorhandene Stückzahl |
Notification | I/7 | Der „Meldebestand“, d.h. ein Bestand bei dessen Unterschreitung der Shopbetreiber informiert wird. |
OpenOrder | I/7 | Der „OpenOrder-Bestand“ des Produkts. Dieses Feld ist optional. Fehlt die Spalte in der Importdatei komplett, so bleibt der vorhandene OpenOrder-Bestand unverändert erhalten. |
Beispiel:StoreId<TAB>Amount<TAB>Notification<CRLF>
prod-1<TAB>25<TAB>10<CRLF>
prod-2<TAB>18<TAB>10<CRLF>
Wollen Sie eine Produktverfügbarkeit für einzelne Filialen im Shop anbieten?
Mit der Schnittstelle “WS-REST-OrderManagement“ können Sie diese Echtzeit-Abfrage des Filial-Lagerbestands realisieren:
Kundenabhängige Preise
Anlegen und Ändern von kundenabhängigen Preisen (c-priceupdate.csv/c-pricecomplete.csv)
Diese beiden Dateien enthalten die kundenabhängigen Preise eines Subshops. Normalerweise werden sie zusammen mit den Produktdaten importiert, sie können jedoch auch unabhängig von diesen Dateien eingelesen werden.
Optional können mit dieser Datei auch die normalen, nicht kundenabhängigen Preise und Staffelpreise importiert werden. Dies kann sinnvoll sein, wenn das Auslesen der Preise aus dem exportierenden System sehr viel Zeit in Anspruch nimmt und es deshalb aus Performance-Gründen sinnvoll ist, geänderte Produktdaten ohne die zugehörigen (unveränderten) Preise zu importieren.
Beim Importieren der Datei c-priceupdate.csv werden nur die Preise aktualisiert, die in der Importdatei auftauchen, der Rest bleibt unverändert.
Beim Import einer c-pricecomplete.csv dagegen werden alle kundenabhängigen Preise gelöscht, die nicht in der Datei enthalten sind.
Die Dateien enthalten folgende Felder:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
ProdIndex | S1/64 | Produktindex |
Price | F/8 | Der Preis |
Quantity | I/7 | Menge, ab der der Preis gelten soll |
Customer | S1/64 | Eine ID für die Kunden, für die die Preisangabe gelten soll. Diese ID kann entweder die Kundennummer eines einzelnen Kunden oder eine Preisgruppe sein (entspricht dem Feld „OPriceGroup“ bei den Kundendaten). |
CustomerType | Zulässige Werte: 1,2 | Dieses Flag gibt an, ob „Customer“ eine Preisgruppe (=1) oder eine Kundennummer enthält (=2). Bei jedem anderen Wert wird der Eintrag in „Customer“ ignoriert. |
Hinweis
Auch wenn kundenabhängige Preise über die Kundennummer zugeordnet werden, muss das Feld „PriceGroup“ (Preisgruppe) in den Kundendaten gefüllt werden, um die kundenabhängigen Preise zu aktivieren. Der konkrete Wert für das Feld „PriceGroup“ ist in diesem Fall ohne Bedeutung.
Allgemeine Bemerkungen
Wenn für einen Artikel sowohl Preise für eine bestimmte Kundennummer als auch Preise für eine Preisgruppe angegeben sind: In diesem Fall werden die bei der Kundennummer angegebenen Preise verwendet, wenn sich ein Kunde einloggt, der die passende Kundennummer hat und zu der entsprechenden Preisgruppe gehört.
Für jede Customer/Prodindex Kombination in der Datei sollte ein Eintrag mit Quantity=0 vorhanden sein.
Wenn kundenabhängige Preise für abhängige Varianten importiert werden sollen, dann muss auch in der zugehörigen PRD-Datei ein Preis für die Varianten angegeben sein.
Beim Löschen eines Produktes werden immer auch die (kundenabhängigen) Preise des Produkts gelöscht.
Bemerkungen zum optionalen Import von nicht kundenabhängigen Preisen
Der Import von nicht kundenabhängigen Preisen über die c-price* Dateien muss von der WEBSALE AG freigeschaltet werden.
Beim Import von nicht kundenabhängigen Preisen muss das Feld „Customer“ leer bleiben, für CustomerType muss der Wert „0“ übergeben werden.
Bemerkung zum Update vorhandener Preise
Für das Update gelten alle Felder außer „Price“ als Keyfelder, d.h. stimmen alle diese Felder mit einem bereits vorhandenen Eintrag in der Preistabelle überein, so wird der Preis aktualisiert, ansonsten wird ein neuer Eintrag in der Preistabelle angelegt.
Beispiel:
Eine c-pricecomplete.csv mit folgendem Inhalt wird importiert:
Danach wird eine c-priceupdate.csv mit diesem Inhalt importiert:
Dann hätte die Preistabelle des Shops danach den folgenden Inhalt:
Bei dem Eintrag mit Quantity „0“ wurde der Preis von 9.99 auf 10.00 geändert, weil die Importdatei eine Zeile enthielt, bei der ProdIndex, Quantity, Customer und CustomerType mit einem bereits in der Preistabelle vorhandenen Eintrag übereinstimmten.
Der Eintrag mit Quantity „5“ wurde neu in die Tabelle aufgenommen, weil kein passenden Eintrag gefunden wurde.
Der Eintrag mit Quantity „3“ schließlich blieb unverändert aus dem ersten Import erhalten.
Löschen von kundenabhängigen Preisen (c-pricedelete.csv)
Die c-pricedelete.csv Datei enthält die zu löschenden kundenabhängigen Preise.
Die Datei enthält folgende Felder:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
ProdIndex | S1/64 | Produktindex |
Customer | S1/64 | siehe c-priceupdate.csv/c-pricecomplete.csv |
CustomerType | Zulässige Werte: 1,2 | siehe c-priceupdate.csv/c-pricecomplete.csv |
Bemerkungen:
Ist das Feld „Customer“ leer, so werden alle Preise des angegebenen Produkts gelöscht, ansonsten nur die des zu Customer/CustomerType passenden Kunden.
Beim Löschen der Preise für einen Kunden werden alle Staffelpreise für den Kunden gelöscht. Das explizite Löschen eines bestimmten Staffelpreises (z. B. den Preis für die Menge 5 des Kunden „abc“) ist nicht vorgesehen.
Sollte in einer Importdatei sowohl eine Zeile mit leerem Customer-Feld als auch eine Zeile mit gefülltem Customer-Feld auftauchen, so werden alle Preise des Produktes gelöscht.
Die c-pricedelete.csv wird vor der c-priceupdate.csv eingelesen, so dass Preise erst gelöscht und dann neu eingefügt werden können.
Online-Preise
„Online-Preise“ sind für Produkte gedacht, deren Preis sich häufig ändert. In den Importdateien wpupdate.csv bzw. wpcomplete.csv werden sie gekennzeichnet, in dem das Feld „OnlinePrice“ auf den Wert „y“ gesetzt wird.
Ähnlich zu den kundenabhängigen Preisen lassen sich die Online-Preise unabhängig von den restlichen Produktdaten importieren. Weiterhin werden die Preisänderungen, die während des Bestellablaufs auftreten, durch den Shop speziell behandelt.
Was den Import angeht, so gibt es folgende Unterschiede zwischen den „Online-Preisen“ und den „Kundenabhängigen Preisen“:
Online-Preise können nicht kundenabhängig sein
Es gibt keine Mengenabhängigkeit
Statt des Produktindexes wird die Produktnummer zur Adressierung verwendet
Alle Importdateien für Online-Preise werden in dem Importverzeichnis des Subshops abgelegt.
Anlegen und Ändern von Online-Preisen
(onlinepriceupdate.csv/onlinepricecomplete.csv)
Beim Importieren der Datei onlinepriceupdate.csv werden nur die Preise aktualisiert die in der Importdatei auftauchen, der Rest bleibt unverändert.
Beim Import einer onlinepricecomplete.csv dagegen werden alle kundenabhängige Preise gelöscht, die nicht in der Datei enthalten sind.
Die Dateien enthalten folgende Felder:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
Number | S1/64 | Produktnummer |
Price | F/8 | Preis |
Löschen von Online-Preisen (onlinepricedelete.csv)
Beim Importieren der onlinepricedelete.csv werden alle Online-Preise gelöscht, die in der Datei stehen.
Die Datei enthält folgendes Feld:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
Number | S1/64 | Produktnummer |
Bemerkungen:
Ein implizites Löschen von Online-Preisen findet nicht statt, d.h. wenn ein Produkt über die wpdelete.csv aus dem Shop gelöscht wird, so bleiben die Online-Preise dennoch erhalten.
Die Datei onlinepricedelete.csv wird vor den Dateien onlinepriceupdate.csv und onlinepricecomplete.csv eingelesen, so dass sich Preise bei einem Import löschen und wieder anlegen lassen.
Kombinationen für die abhängige Suche (depsearchcomplete.csv)
Hinweis: Es ist im allgemeinen nicht nötig die im folgenden beschriebene Importdatei zu generieren, wenn Sie die Funktion „abhängige Suche“ in Ihrem Shop nutzen wollen. Normalerweise genügt es, wenn Sie die freien Felder, die für die abhängige Suche verwendet werden sollen, im WSPManager konfigurieren und dann wie gewohnt nur die Produktdaten importieren.
Sie benötigen den Import der abhängigen Suche nur dann, wenn Sie selbst die möglichen Kombinationen von Feldwerten vorgeben wollen, die der Kunde im Shop auswählen kann.
Beispiel:
Sie bieten in Ihrem Shop Ersatzteile für Autos an, als freie Felder für die abhängige Suche verwenden Sie „Hersteller“ und „Modellreihe“. Ein bestimmtes Ersatzteil (z. B. eine Lampe) passt nun für die Hersteller/Modellreihen „Alfa Romeo“/„145“, „Alfa Romeo“/„146“, „Seat“/„Ibiza“ und „Seat“/„Malaga“.
Da in obigem Beispiel die Werte für die Lampe H4 im Feld Hersteller "Alfa Romeo, Seat" lauten und im Feld Modellreihe "145, 146", ist keine Zuordnung ersichtlich, welche Kombinationen von Hersteller und Modellreihe jeweils gültig sind. Wenn Sie nun dem Shop das Erzeugen der Auswahllisten überlassen, so würden, wenn Sie in der „Hersteller“-Listbox den Wert „Alfa Romeo“ auswählen in der „Modellreihe“-Listbox aufgrund der fehlenden Zuordnung die Werte „145“, „146“, „Ibiza“ und „Malaga“ angezeigt.
Wenn Sie nun wollen, dass bei der Auswahl von „Seat“ nur die zu dieser Marke passenden Modellreihen („Ibiza“ und „Malaga“) angezeigt werden, so müssen Sie die zulässigen Kombinationen selbst importieren.
Aufbau der Importdatei
Im Gegensatz zu den meisten anderen Importdateien sind die Feldnamen dieser Datei nicht fest vorgegeben. Die Spaltenüberschriften entsprechen vielmehr den technischen Feldnamen der freien Felder, die für die abhängige Suche verwendet werden sollen.
Beispiel:
Die Importdatei für das obige Beispiel könnte folgendermaßen aussehen:Hersteller<TAB>Modellreihe
Alfa Romeo<TAB>145
Alfa Romeo<TAB>146
Seat<TAB>Ibiza
Seat<TAB>Malaga
Aktivierung des Imports im WSPManager
Der WSPManager muss wissen, ob die Kombinationsmöglichkeiten automatisch ermittelt werden sollen oder ob Sie die Kombinationsmöglichkeiten importieren wollen. Aus diesem Grund müssen Sie, wenn Sie den Import verwenden wollen, im WSPManager unter „Shopeinstellungen“/„Divers“ die Checkbox „Abhängige Suche“/„Import der zulässigen Kombinationen“ anhaken.
Bemerkung
Auch wenn Sie die Importfunktion für die Kombinationsmöglichkeit verwenden, so müssen Sie dennoch die zugehörigen Werte der freien Felder in den Produktdaten importieren, ansonsten werden Produkte im Shop nicht gefunden!
Beachten Sie, dass Sie in die freien Felder auch (kommagetrennte) Listen von Werten eintragen können, sodass ein Produkt bei mehreren verschiedenen Suchbegriffen gefunden wird (in dem obigen Beispiel wird die Lampe z. B. bei Suche nach „Alfa Romeo“ und bei der Suche nach „Seat“ gefunden).
Produktabhängige Versandkosten (deliveryupdate.csv/deliverydelete.csv)
Mit Hilfe dieser beiden Importdateien ist es möglich Ihre Versandkosten von WEBSALE produktgenau berechnen zu lassen.
Die Berechnung bezieht sich dabei auf:
Die Bestellmenge einer Versandkostengruppe oder Artikelnummer
Die Versandkostenart (länderabhängig und lieferantenabhängig)
Die PLZ des Empfängers (optional)
Aufbau der Datei deliveryupdate.csv
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
Number | S1/64 | Die Artikelnummer oder die Versandkostengruppe |
Subshop | S1/64 | Der Subshop, bei verbundenen Subshops muss hier der Daten-Subshop angegeben werden |
Quantity | F/8 | Die Menge ab der die Kosten gelten sollen |
Amount | F/8 | Die Versandkosten |
StartZip | I/7 | StartZip und EndZip geben einen Postleitzahlenbereich an. Geben Sie z. B. für StartZip „90000“ und für EndZip „99999“ an, so gelten die angebenen Versandkosten nur für Nordbayern. |
EndZip | ||
DelivererId | S1/64 | Die Lieferanten-ID, so wie sie in der shop.config eingetragen ist. |
DeliveryGroup | S1/64 | (Kunden-)Versandkostengruppe, ermöglicht es die produktabhängigen Versandkosten zusätzlich kundenabhängig zu machen (optional) |
Aufbau der Datei deliverydelete.csv
Die Datei enthält folgende Felder:
Feldname | Bedeutung/Format |
---|---|
Number | Die Bedeutung der Felder entspricht denen in der deliveryupdate.csv. „StartZip“ und „DeliveryGroup“ sind wieder optional. |
Subshop | |
Quantity | |
StartZip | |
DelivererId | |
DeliveryGroup |
Rabattgruppen (discount.csv)
Mit Hilfe von Rabattgruppen lassen sich (Gruppen von) Produkten mengen- oder preisabhängige Rabatte zuordnen. Optional können diese Rabatte zusätzlich kundenabhängig gestaltet werden.
Die zugehörigen Dateien werden im Import-Verzeichnis des Shops oder des Subshops abgelegt. Liegt die Datei im Import-Verzeichnis des Shops, so gilt sie für alle Subshops. Liegt sie im Verzeichnis eines Subshops, so gilt sie nur für diesen Subshop. Liegt sowohl im Shop-Verzeichnis als auch im Subshop-Verzeichnis eine discount.csv, so wird die Subshop-Datei verwendet.
Kundenunabhängige Rabattgruppen (discount.csv)
Feldname | Bedeutung/Format |
---|---|
DiscountId | Eine ID für die Rabattgruppe. Der hier angegebene Wert muss dem entsprechen, der im Feld „DiscountId“ der Produktdaten importiert wird (siehe Kapitel „Standardfelder“). |
Type | 1: Das Feld „Amount“ enthält eine Menge ab der der Rabatt gewährt wird 2: Das Feld „Amount“ enthält einen Preis |
Discount | Der Rabatt in Prozent der gewährt werden soll |
Amount | Die Menge oder der Preis ab der der Rabatt gewährt werden soll (siehe Type) |
ValidFrom | Datum/Uhrzeit ab dem/der der Rabatt gelten soll (YYYYMMDDhhmmss) |
ValidUntil | Datum/Uhrzeit bis zu dem/der der Rabatt gelten soll (YYYYMMDDhhmmss) |
Die Einträge dieser Datei werden vom Shop von oben nach unten gelesen, der letzte passende Eintrag legt den zu verwendenden Rabatt fest.
Dies bedeutet speziell, dass Zeilen mit höheren „Amount“-Werten unterhalb von Zeilen mit niedrigerem Amount geschrieben werden müssen. Analog müssen Zeilen in denen die Felder ValidFrom oder ValidUntil gefüllt sind unterhalb von Zeilen stehen, bei denen diese Felder nicht gefüllt sind.
Kundenabhängige Rabattgruppen
Wollen Sie je nachdem welcher Kunde sich eingeloggt hat unterschiedliche Rabatte anbieten, so müssen Sie je (Kunden-)Rabattgruppe eine eigene Datei generieren.
Der Name der Datei ist „discount_“ + Kunden-Rabattgruppe + “.csv“. Haben Sie z. B. in den Kundendaten die Kunden-Rabattgruppe „abc“ verwendet, dann würde die Datei „discount_abc.csv “ heißen.
Wie Sie Kunden einer Kunden-Rabattgruppe zuweisen, ist in der Dokumentation „Kundendaten PRO“ erläutert (siehe Format und Inhalt - WS-SFTP-Kunden PRO (DE)).
Der Aufbau der Dateien für kundenabhängige Rabattgruppen ist identisch zum Aufbau der kundenunabhängigen Dateien, ebenso das Verzeichnis.
Löschen von Rabattgruppen-Dateien
Einmal importierte Dateien lassen sich nicht mehr löschen. Sie können sie jedoch durch leere Dateien bzw. Dateien, die nur eine Header-Zeile enthalten, überschreiben.
Kundenabhängige Produktnummern
Anlegen und Ändern von kundenabhängige Produktnummern (custpnumbersupdate.csv/custpnumberscomplete.csv)
Mit Hilfe von kundenabhängigen Produktnummern lässt sich erreichen, dass im Shop für angemeldete Kunden, kundenabhängige Produktnummern angezeigt werden, die von den Produktnummern in den Produktdaten abweichen.
Beim Importieren der Datei custpnumbersupdate.csv werden nur die Produktnummern aktualisiert oder angelegt die in der Importdatei stehen, der Rest bleibt unverändert.
Beim Import einer custpnumberscomplete.csv dagegen werden alle kundenabhängige Produktnummern gelöscht die nicht in der Datei enthalten sind.
Die Dateien enthalten folgende Felder:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
CustomerNumber | S1/64 | Die Kundennummer des Kunden |
OrigProductNumber | S1/64 | Die Produktnummer, so wie sie in den Produktdaten hinterlegt ist |
CustomerProductNumber | S1/64 | Die Produktnummer die für den Kunden im Shop angezeigt werden soll |
Beispiel:CustomerNumber<TAB>OrigProductNumber<TAB>CustomerProductNumber
12345671<TAB>1112223331<TAB>111a
12345671<TAB>1112223332<TAB>111b
12345671<TAB>1112223333<TAB>111c
12345672<TAB>1112223331<TAB>11133a
12345672<TAB>1112223332<TAB>11133b
Bemerkungen:
Je Kundennummer und je Original-Produktnummer (OrigProductNumber) kann nur eine kundenabhängige Produktnummer (CustomerProductNumber) importiert werden. Befinden sich mehrere Zeilen für den gleichen Kunden und das gleiche Produkt in der Importdatei, so wird nur die letzte Zeile übernommen.
Die kundenabhängigen Produktnummern müssen zusätzlich im Feld „CustomerProductNumbers“ in den Produktdaten (wpupdate.csv/wpcomplete.csv) importiert werden.
Löschen von kundenabhängige Produktnummern (custpnumbersdelete.csv)
Mit der Datei „custpnumbersdelete.csv“ lassen sich Einträge die mit den Dateien „custpnumbersupdate.csv“ oder „custpnumberscomplete.csv“ angelegt wurden wieder löschen.
Die Datei enthält folgende Felder:
Feldname | Zulässige Zeichen/ | Bedeutung/Format |
---|---|---|
CustomerNumber | S1/64 | Die Kundennummer des Kunden oder „*“ |
OrigProductNumber | S1/64 | Die Produktnummer, so wie sie in den Produktdaten hinterlegt ist oder „*“ |
Beispiel:CustomerNumber<TAB>OrigProductNumber
12345671<TAB>1112223331
12345672<TAB>*
*<TAB>1112223332
Bemerkungen:
Steht für CustomerNumber ein „*“ in der Datei, so werden alle im Shop gespeicherten Einträge mit der angegebenen OrigProductNumber gelöscht.
Steht für OrigProductNumber ein „*“ in der Datei, so werden alle im Shop gespeicherten Einträge mit der angegebenen CustomerNumber gelöscht.
Wird ein Kunde oder ein Produkt aus dem Shop gelöscht, so werden die zugehörigen kundenabhängigen Produktnummern nicht automatisch gelöscht.
Diverse Shop-Parameter (parameter.ini)
Für Parameter, die den Import betreffen, aber in keine der anderen Importdateien passen, gibt es die Importdatei „parameter.ini“. Die in diesem Abschnitt beschriebene Datei enthält Einstellungen, die alle Subshops betreffen (siehe auch "Diverse Subshop-Parameter").
Der Aufbau der Datei entspricht den übrigen „INI“-Dateien des Shops, d.h. sie ist in Sektionen gegliedert, die Name/Wert-Parameter enthalten:
Einzige gültige Sektion ist derzeit „Inventory“, der einzige gültige Parameter „ValidDateTime“. Dieser Parameter gibt an, auf welchen Zeitpunkt sich die importierten Lagerbestandsdaten beziehen.
Das Format des Parameters ist YYYYMMDDhhmmss also z. B. „20060523163310“.
Hintergrund für diesen Parameter ist, dass die Erstellung der Lagerbestandsimportdatei, der Import und die Übertragung dieser Daten mehr oder weniger viel Zeit in Anspruch nehmen. Während dieses Vorgangs können weiterhin Bestellungen eingehen, so dass der schließlich gesetzte Bestand vom tatsächlich vorhandenen abweichen kann.
Beispiel: Um 14:05 wird die amount.dat erstellt, für das Produkt xyz sind zu diesem Zeitpunkt noch 5 Stück auf Lager, tatsächlich im Online-Shop gesetzt wird der Bestand für das Produkt aber erst um 14:15. Um 14:13 bestellt ein Kunde 4 Stück des Produkts, wenn der Bestand „normal“, d.h. ohne Angabe von ValidDateTime importiert wird, dann wären jetzt im Shop 5 Stück verfügbar, obwohl (nach Auslieferung der Bestellung von 14:13) nur noch ein Stück auf Lager ist.
Würde in dem obigen Beispiel „20090728140500“ als „ValidDateTime“ übergeben werden, dann würden beim Setzen des Bestandes um 14:15 alle zwischen 14:05 und 14:15 eingegangenen Bestellungen vom Bestand abgezogen und der Bestand also auf den korrekten Wert „1“ gesetzt werden.
Damit die Funktion im Shop verwendet werden kann muss in der shop.config der entsprechenden Subshops im Abschnitt <Inventory> der Parameter „SetOrderInventory-Allow“ auf „yes“ gesetzt werden.
Diverse Subshop-Parameter (parameter.ini)
Für Parameter, die den Import betreffen, aber in keine der anderen Importdateien passen, gibt es die Importdatei „parameter.ini“. Die in diesem Abschnitt beschriebene Datei enthält Einstellungen die einen bestimmten Subshop betreffen (siehe auch "Diverse Shop-Parameter").
Der Aufbau der Datei entspricht dem der übrigen „INI“ Dateien des Shops, d.h. sie ist in Sektionen gegliedert, die Name-/Wert-Parameter enthalten:
Sektion <Options>
In der Sektion „Options“ ist derzeit der einzige gültige Parameter „PreserveFields“. Dieser Parameter kann eine kommagetrennte Liste von Feldern enthalten, die beim Import nicht überschrieben werden soll.
Beachten Sie, dass diese Option nur für Felder funktioniert, die nicht für Suche, Filter, Sortierung oder ähnliche Funktionen benutzt werden.
Sektion <ProductFields>
Die Sektion „ProductFields“ enthält Eigenschaften von Produktdaten-Feldern, die über den Import gesetzt werden können. Für jedes Produktdaten-Feld für das Eigenschaften importierten werden sollen muss die Sektion „ProductFields“ eine Untersektion „Field“ enthalten.
Beispiel:
Die Sektion „Field“ kann folgende Parameter enthalten:
Parameter | Bedeutung/Format |
---|---|
FieldName | Der technische Feldname, dieser Parameter muss gefüllt werden. |
FilterSortSelect | Eine kommagetrennte Liste von Feldwerten, die die Reihenfolge angibt, in der die Werte in den Filterlistboxen des Shops angezeigt werden. Beispiel: Da die Liste kommagetrennt ist müssen eventuell in den Werten vorhandene Kommas „escaped“ werden. Als Escape-Mechanismus wird der gleiche wie bei URLs verwendet, d. h. ein unzulässiges Zeichen wird durch „%“ + den zweistelligen Hexcode (in Kleinbuchstaben) des Zeichen-Codes ersetzt. Ein Komma in einem Feldwert muss also in der Form %2c geschrieben werden. Neben dem Komma muss auch das Escape-Zeichen „%“ selbst escaped werden und zwar als %25. Der Parameter FilterSortSelect wird typischerweise für die Sortierung von Größen (z. B. XS,S,M,L) verwendet, bei der eine alphabetische oder numerische Sortierung zu einer unlogischen Reihenfolge führt. |
Bemerkungen:
Wird bei einem Import keine parameter.ini geliefert, so bleiben die vorhandenen Feldeinstellungen unverändert.
Damit die unter „FilterSortSelect“ angegebene Sortierung verwendet wird muss unter „Einstellungen für Filterlistboxen“ (im WSPManager) für das zu sortierende Feld die Sortierung „Liste“ eingestellt sein.
Spezielle Themen
„Happy Hour“ Produkte
Für Produkte in der „Happy Hour“ Kategorie ist eine Zeitsteuerung aktiv, die dafür sorgt, dass immer nur ein Teil der Produkte im Shop sichtbar ist. Weiterhin kann für die gerade in der Kategorie sichtbaren Produkte ein „Happy Hour“ Rabatt gewährt werden.
Produkte werden in die „Happy Hour“ Kategorie importiert, in dem sie in der catupdate.csv/catcomplete.csv Datei der Kategorie „happyhour“ zugewiesen werden, weiterhin muss in der Datei wpupdate.csv/wpcomplete.csv das Feld „Event“ auf den Wert „y“ gesetzt werden.
Mit den optionalen Feldern „EventProductNumber“ und „EventDiscount“ kann eine abweichende Produktnummer und ein Rabatt angegeben werden die verwendet werden, wenn das Produkt in der „Happy Hour“ Kategorie angezeigt wird.
Die Einstellungen der „Happy Hour“ Kategorie selbst können beim Import der Datei catcomplete.xml geändert werden („eventrotationtime“ und „eventproducts“).
„Happy Hour“-Kategorie
Die Einstellungen der „Happy Hour“ Kategorie können zusammen mit den übrigen Kategoriedaten in der catcomplete.xml importiert werden.
"eventrotationtime" gibt die Zahl der Stunden an nach den die Produkte rotiert werden sollen, "eventproducts" die Zahl der gleichzeitig sichtbaren Produkte.
Beachten Sie, dass die Kategorie im Abschnitt "nomenucategories" steht und das die Attribute "index" und "type" die Werte "happyhour" bzw. "event" haben.
Warenkorb Kategorie
Artikel, die der „Warenkorb“ Kategorie zugewiesen sind, werden beim Bestellvorgang automatisch dem Warenkorb hinzugefügt.
Produkte werden in die „Warenkorb“ Kategorie importiert, indem sie in der catupdate.csv/catcomplete.csv Datei der Kategorie „autobasket“ zugewiesen werden.
Für die Produkte gelten folgende Einschränkungen:
Der Preis muss 0.00 sein.
Es sollten bei der Bestellung keine Eingaben nötig sein, d. h. das Produkt darf keine Varianten oder Texteingabefelder haben.
Es können maximal 3 Produkte zur „Warenkorb“ Kategorie zugewiesen werden.
Da die Warenkorb Kategorie keine Einstellungen wie Templates oder Beschreibung unterstützt und prinzipiell nicht im Shopmenü angezeigt wird braucht sie auch nicht in die catcomplete.xml geschrieben zu werden.
Der optionale Mindestbestellwert, ab dem ein Produkt in den Warenkorb gelegt wird, kann über das Feld „ABMinOrderVal“ in der Datei wpupdate.csv/wpcomplete.csv importiert werden.
Mehrfachbilder
Es besteht die Möglichkeit, im Onlineshop zusätzlich zu den normalen Bildern sogenannte „Mehrfachbilder“ anzeigen. Bei der Anzeige eines Produkts werden diese Bilder zunächst als Minibild dargestellt, beim Klick auf eines dieser Minibilder wird es in normaler Größe angezeigt und ersetzt dabei das ursprüngliche Bild.
Im WSPManager muss für jedes Mehrfachbild und für jede Bildgröße ein freies Feld angelegt werden. Wenn z. B. (zusätzlich zu dem normalen Bild) drei Mehrfachbilder angezeigt werden sollen, dann müssten die Felder
Bild_mini_1
Bild_mini_2
Bild_mini_3
Bild_klein_1
Bild_klein_2
Bild_klein_3
Bild_mittel_1
Bild_mittel_2
Bild_mittel_3
Bild_gross_1
Bild_gross_2
Bild_gross_3
angelegt werden.
Der Typ der freien Felder muss dabei auf "Medien Bild mini", "Medien Bild klein", "Medien Bild normal" und "Medien Bild gross" gesetzt werden, jeweils entsprechend der Größe des Bildes.
Die Bilddateien werden wie die normalen Produktbilder in den Verzeichnissen ".../produkte/medien/bilder/mini", ".../produkte/medien/bilder/klein", ".../produkte/medien/bilder/normal" und ".../produkte/medien/bilder/gross" abgelegt.
In den freien Feldern selbst steht dann nur noch der Bildname ohne Pfad.
Wenn für ein Produkt weniger als (in diesem Beispiel) drei Mehrfachbilder angezeigt werden soll, so werden die überschüssigen Feldnamen einfach leer gelassen.
Nicht mehr existierende Produkte/nicht mehr existierende Kategorien
„Nicht mehr existierende Produkte“ und „Nicht mehr existierende Kategorien“ sind Verfahren zur „Link-Rettung“ von gelöschten Produkten und Kategorien: Mit ihnen wird vermieden, dass Links auf Produkte oder Kategorien „ins Leere“ gehen, wenn Produkte oder Kategorien gelöscht werden.
Stattdessen können Aufrufe von gelöschten Produkten oder Kategorien mit diesen Techniken auf andere Produkte oder Kategorien umgeleitet werden.
Um die Funktion „Nicht mehr existierende Produkte“ zu nutzen müssen Sie beim Import das „Discontinued“ Feld in den Importdaten mit dem Wert „y“ importieren. Das Produkt wird dann aus dem Shop gelöscht und Aufrufe des Produkts auf die Kategorie umgeleitet, in der das Produkt stand.
Alternativ haben Sie die Möglichkeit im Feld „DiscontinuedSubstitute“ den Produktindex eines Ersatzproduktes anzugeben, auf das Aufrufe umgeleitet werden sollen.
Ein Produkt braucht und sollte nur einmal als „Discontinued“ importiert werden, beachten Sie, dass dabei noch einmal sämtliche Produktdaten (einschließlich eventuell vorhandener Varianten und Zuordnungen zu Kategorien) geliefert werden müssen.
Für die Funktion „Nicht mehr existierende Kategorien“ brauchen sie an den Importdaten nichts zu ändern, sie muss nur von der WEBSALE AG für Ihren Shop aktiviert werden.
Ein Aufruf einer gelöschten Kategorie wird auf die nächste Kategorie umgeleitet, die in der Hirarchie über der gelöschten Kategorie steht und die noch existiert.
Sowohl die Funktion „Nicht mehr existierende Produkte“ als auch die Funktion „Nicht mehr existierende Kategorien “ müssen von der WEBSALE AG freigeschaltet werden.
Service-Produkte
„Service-Produkte“ sind Produkte, die sich im Shop nicht mehr bestellen lassen und die keiner Kategorie mehr zugeordnet sind, die aber noch über die Suche gefunden werden und über Deep-Links aufgerufen werden können.
Der Zweck von „Service-Produkten“ ist es, den Kunden auch dann noch Informationen (z. B. technische Daten, Download von Handbüchern) zu den Produkten zur Verfügung stellen, wenn sie im Shop nicht mehr verkauft werden.
„Service-Produkte“ werden importiert, in dem das Feld „Service“ in den Importdaten auf den Wert „y“ gesetzt wird. Es müssen dabei nochmal alle Daten geliefert werden, die für das Service Produkt im Shop angezeigt werden sollen.
Eine Zuordnung eines Service Produkts zu einer Kategorie ist nicht nötig bzw. nicht zulässig.
Es genügt ein Service-Produkt einmalig zu importieren, Service-Produkte bleiben auch bei Komplett-Importen im Shop erhalten, wenn für sie keine Importdaten geliefert werden.
Soll ein Service-Produkt gelöscht werden, so muss dies explizit über die Importdatei wpdelete.csv erfolgen.
Die Funktion „Service-Produkte“ kann mit der Funktion „Nicht mehr existierende Produkte“ kombiniert werden. Beachten Sie, dass in diesem Fall aber der Produkt-Index des Produkts umbenannt wird, in dem der Präfix „sp_“ vorangestellt wird.
Diese Umbenennung ist nötig, da ansonsten ein Deep-Link auf das Service Produkt auf die Ersatzkategorie bzw. das Ersatzprodukt umgeleitet werden würde.
Wenn ein Produkt gleichzeitig „Service-Produkt“ und „discontinued“ sein soll, so müssen die Felder „Service“ und „Discontinued“ auch gleichzeitig gesetzt werden. D. h., es ist nicht möglich, ein Produkt als „Service-Produkt“ zu importieren und bei einem späteren Import auf „discontinued“ zu setzen (oder umgekehrt). Beide Flags müssen bei dem gleichen Import gesetzt werden.
Die Funktion „Service-Produkte“ muss von der WEBSALE AG freigeschaltet werden.
Günstigste zeitabhängige Preise (BestPrices)
In dem Feld “Bestprice” (das den günstigsten Preis für ein Produkte mit Varianten enthält) kann keine Zeitabhängigkeit angegeben werden. Wenn in einem Shop zeitabhängige Preise verwendet werden und diese Zeitabhängigkeit auch bei der Ermittlung des günstigsten Preises berücksichtigt werden soll, so kann beim Import optional das Feld “BestPrices” generiert werden.
Dazu muss in der global.config der Parameter “CreateBestPrices” eingefügt werden:
Es wird dann aus den Feldern “AltPrices” und “Price“ in den PRD-Dateien das Feld “BestPrices” generiert, aus dem der Shop für jeden Zeitpunkt den jeweils günstigsten Preis ermitteln kann.
Die eigentlichen Importdaten brauchen nicht verändert zu werden.
Da dies ein zeitaufwändiger Prozess ist, der die Laufzeit des Imports verlängert, sollte das Feature nur aktiviert werden, wenn es tatsächlich benötigt wird.
Schutz vor leeren Importen
In der Datei global.config im Verzeichnis „konfiguration“ des Shops können minimale Werte für die Anzahl der Kategorien und der (Kategorien zugewiesenen) Produkte konfiguriert werden:
Vor dem Start des Imports wird für jeden Subshop geprüft, ob die angegebenen Zahlen nach dem Import voraussichtlich unterschritten werden. Wenn ja, dann wird der Import für den Subshop abgebrochen bzw. erst gar nicht gestartet.
Bei diesem Vorab-Check werden nur die Dateien „catcomplete.xml“, „catcomplete.csv“ und „wpcomplete.csv“ geprüft. D.h. bei Delta-Importen greift die Funktion nicht.
Zweck des Features ist es zu verhindern, dass der Shop leer ist, wenn durch ein Versehen unvollständige Daten importiert werden.
Beispiel-Dateien
Folgende ZIP-Verzeichnisse mit Beispieldateien sind Teil dieser Dokumentation, die Sie auf der untergeordneten Seite zum Download finden:
Verzeichnis | Beschreibung |
---|---|
bsp-happy-hour | Import von Produkten in die „Happy Hour“ Kategorie, Setzen von „Happy Hour“-Rabatt und -Artikelnummer |
bsp-auto-basket | Zuweisung von Artikeln zur „Warenkorb“ Kategorie |
bsp-komplett | Komplett-Import von Kategorie-, Produktdaten und kundenabhängigen Preisen |
bsp-abh-varianten | Import eines Produktes mit abhängigen Varianten |
bsp-delivery | Import von produktabhängigen Versandkosten |
bsp-price | Import von (kundenabhängigen) Preisen |