Zum Hauptinhalt springen
Die Konfiguration product_alternatives.cfg steuert die alternativen Produktdaten. Damit zeigt der Shop bestimmten Käufern abweichende Preise oder abweichende Produktdaten, ohne dass sich am regulären Datenstand etwas ändert. Die Datei besteht aus einer Liste von Einträgen. Jeder Eintrag beschreibt drei Dinge: wie die Abweichung zustande kommt, für wen sie gilt und wann sie gilt. Greift mehr als ein Eintrag, entscheidet die Priorität. Die alternativen Produktdaten müssen für Ihren Shop freigeschaltet sein. Ohne diese Freischaltung liest der Shop die Datei gar nicht erst. Sprechen Sie dazu Ihren WEBSALE-Ansprechpartner an. Wegweiser: Alternative Produktdaten · Referenz: Alternative Produktdaten, Tags · Grundlagen: Grundlagen zu Konfigurationen

Wo die Datei liegt

Die Datei liegt direkt im Konfigurationsverzeichnis des Shops:
Sie gilt damit für alle Subshops und alle Sprachen gemeinsam. Genau deshalb gibt es den Parameter ValidInSubShops-List, mit dem Sie einen einzelnen Eintrag auf bestimmte Subshops begrenzen. Zeilen, die mit # beginnen, wertet der Shop als Kommentar.

Grundaufbau

Der Abschnitt +Entry darf beliebig oft vorkommen.

Identität und Betriebsart

Die drei Betriebsarten unterscheiden sich darin, woher die abweichenden Daten kommen:
Ein anderer Wert als diese drei macht den Eintrag wirkungslos. Der Shop meldet das nicht als Fehler, der Eintrag greift einfach nie. Achten Sie besonders auf die Bindestriche in den beiden langen Werten.

Die alternative Produktdatendatei

Bei allen drei Betriebsarten liegen die abweichenden Daten in einer zweiten Datei neben der regulären Produktdatendatei. Sie tragen hier nur die zusätzlichen Zeichen des Dateinamens ein. Liegen die ursprünglichen Produktdaten in 1234.prd und die alternativen in 1234.prd-apd, dann lautet der Eintrag -apd. Der Shop liest den jeweils anderen der beiden Parameter gar nicht erst ein. Ein AlternativeProductDataFileExtension in einem PriceRule-Eintrag bleibt also folgenlos, und umgekehrt genauso.

Streichpreise

Bei Type = AlternativeProductDataFields-Replacement stehen die Streichpreis-Tags nicht zur Verfügung. Der ursprüngliche Preis ist in diesem Fall vollständig ersetzt und damit nicht mehr bekannt.

Gültigkeit

Ein Zeitstempel in einem anderen Format macht den Eintrag ungültig. Der Shop fällt dabei nicht auf “immer gültig” zurück, sondern überspringt den Eintrag vollständig.Prüfen Sie deshalb die Schreibweise sorgfältig. Erlaubt sind 20251224, 20251224-12, 20251224-12:00 und 20251224-12:00:00.

Preis-Regel

Diese Parameter gelten nur bei Type = PriceRule. Der Shop rechnet dann Preis minus Preis mal Prozentsatz durch 100 beziehungsweise Preis plus Preis mal Prozentsatz durch 100.
Ohne einen Prozentsatz in PriceRuleParameter1 bleibt der Preis unverändert, auch wenn PriceRule gesetzt ist. Dasselbe gilt für einen Prozentsatz von 0 oder kleiner.In der Datei tauchen außerdem die Parameter PriceRuleParameter2 und PriceRuleParameter3 auf. Der Shop liest sie ein, wertet sie bei der Preisberechnung aber derzeit nicht aus. Sie sind für künftige Rechenregeln vorgesehen.

Bedingungen

Im Unterabschnitt Conditions legen Sie fest, für wen der Eintrag gilt. Die Verknüpfung ergibt sich aus der Verschachtelung:
  • Mehrere +ConditionSet sind oder-verknüpft. Es genügt, wenn ein Set zutrifft.
  • Mehrere +Condition innerhalb eines Sets sind und-verknüpft. Hier müssen alle zutreffen.
Wählen Sie bei URL-Parametern eine Kombination aus Name und Wert, die sich nicht erraten lässt. Wer den Link kennt, bekommt die abweichenden Preise.Wählen Sie den Namen außerdem eindeutig genug, damit er nicht mit funktionalen Aufrufparametern des Shops kollidiert.
Werden während einer Sitzung mehrere gültige URL-Parameter verwendet, merkt sich der Shop die zuletzt gefundene gültige Kombination aus Name und Wert.

Welcher Eintrag gewinnt

Der Shop prüft bei jedem Aufruf alle Einträge der Datei der Reihe nach und behält den Gewinner für die Dauer des Aufrufs. Ein Eintrag kommt nur in die Auswahl, wenn er den Testmodus, den Gültigkeitszeitraum und die Subshop-Beschränkung besteht und seine Bedingungen zutreffen. Bleiben danach mehrere Einträge übrig, entscheidet Priority.
Der kleinere Zahlenwert gewinnt. Ein Eintrag mit Priority = 1 setzt sich gegen einen mit Priority = 3 durch.Daraus folgt eine Falle: Ein Eintrag ohne Priority zählt als 0 und schlägt damit jeden Eintrag mit einer gesetzten Priorität. Vergeben Sie die Priorität deshalb entweder bei allen Einträgen oder bei keinem.Bei gleichem Zahlenwert gewinnt der Eintrag, der in der Datei weiter oben steht.Es gewinnt genau ein Eintrag, und dabei bleibt es. Existiert für ein Produkt keine passende alternative Produktdatendatei, bekommt dieses Produkt seine regulären Daten. Der Shop weicht nicht auf den Eintrag mit der nächsten Priorität aus.

Wenn ein Eintrag nicht greift

Die folgenden Ursachen führen alle dazu, dass ein augenscheinlich korrekter Eintrag wirkungslos bleibt. Keine davon erzeugt eine sichtbare Fehlermeldung. Die Funktion ist für den Shop nicht freigeschaltet. Dann liest der Shop die Datei nicht ein, unabhängig von ihrem Inhalt. Die Datei fehlt oder liegt am falschen Ort. Der Shop erwartet sie direkt unter konfiguration/, nicht in einem Subshop-Unterverzeichnis. Der Wert von Type ist nicht einer der drei erlaubten. Ein Tippfehler in AlternativeProductDataFields-Complementary reicht. Der Zeitstempel ist falsch formatiert. Das macht den Eintrag ungültig, nicht zeitlich unbegrenzt gültig. Ein anderer Eintrag hat die kleinere Priority. Siehe oben. Die alternative Produktdatendatei existiert nicht. Der Shop prüft je Produkt, ob die Datei mit der konfigurierten Endung tatsächlich im Produktdatenverzeichnis liegt. Fehlt sie, bleibt es für dieses Produkt bei den regulären Daten. Für die Fehlersuche im Shop selbst gibt es die Tags mit dem Präfix APD-. Damit geben Sie im Testmodus aus, welcher Eintrag gerade gewonnen hat, mit welcher Betriebsart, Dateiendung und Gültigkeit. Referenz: Alternative Produktdaten, Tags