prod.cfg ist die einzige Konfigurationsdatei des Shops, die Sie nicht schreiben, sondern nur lesen. WEBSALE V8s erzeugt sie automatisch bei jedem Produkt- und Kategoriedaten-Import. Sie hält fest, welche Produktdatenfelder der Shop kennt, welche Kategorien angelegt sind und wie beide konfiguriert sind.
Genau deshalb ist sie das wichtigste Nachschlagewerk, wenn Sie als Designer oder Partner keinen Zugriff auf das führende Warenwirtschaftssystem haben. Statt beim Shopbetreiber nachzufragen, welche Daten überhaupt ankommen, sehen Sie es hier direkt.
Sie finden die Datei im Online-Servicebereich (OSB) unter dem Service “Konfiguration”, als lesbare Datei je Subshop.
Grundlagen: Grundlagen zu Konfigurationen · Wegweiser: Beschreibung einer Kategorie, Kategorie anzeigen
Diese Seite erklärt den Aufbau der Datei und die Parameter, die der Shop daraus liest, nicht die inhaltliche Bedeutung der einzelnen Produktdatenfelder.
Grundaufbau
Dieprod.cfg ist aufgebaut wie die übrigen Konfigurationsdateien von WEBSALE V8s. Sie ist in Abschnitte unterteilt, die mit <..> geöffnet und mit </..> geschlossen werden, und jeder Abschnitt enthält Parameter in der Form Name = Wert.
Zwei Eigenheiten unterscheiden sie von den handgepflegten Konfigurationen:
Die gesamte Datei liegt in einer Klammer <Prod> bis </Prod>.
Die Kategoriedaten stehen immer am Ende. Beim Import entfernt WEBSALE V8s alles ab dem ersten <Category> und hängt die neu erzeugten Kategorieabschnitte an. Alles, was davor steht, bleibt also erhalten, alles danach wird ersetzt.
Diese Abschnitte kommen vor:
Die übrigen fünf Abschnitte liest der Shop ebenfalls aus der `prod.
Produktdatenfelder: AttributeNames
Im Abschnitt AttributeNames stehen alle Produktdatenfelder des Shops, Standardfelder wie freie Felder.
Standard-Produktdatenfelder
Jedes Standard-Produktdatenfeld hat seinen eigenen Abschnitt innerhalb vonAttributeNames. Der Abschnittsname ist der interne Feldname und liegt fest, FieldName ist der nach außen sichtbare Name, unter dem Sie das Feld in Tags ansprechen.
Auszug für das Standardfeld Name, den Produktnamen:
Zwei Verhaltensweisen sind beim Lesen wichtig:
SearchSuffix wertet der Shop nur aus, wenn Search = y gesetzt ist. Steht dort ein anderer Wert, bleibt das Suffix unberücksichtigt, auch wenn es in der Datei steht.
Sort macht ein Feld sortierbar, sobald überhaupt ein Wert hinterlegt ist. Der konkrete Datentyp, im Beispiel VARCHAR, spielt für diese Entscheidung keine Rolle.
Freie Produktdatenfelder
Für jedes freie Produktdatenfeld entsteht ein Abschnitt<UserField> innerhalb von AttributeNames.
Auszug für das freie Produktdatenfeld Erscheinungstermin:
Auch hier lohnt ein Blick auf das tatsächliche Verhalten:
Die Reihenfolge der
<UserField>-Abschnitte in der Datei bestimmt die interne Nummerierung der freien Felder. Das erste freie Feld wird intern zu User1, das zweite zu User2 und so fort. Wenn Sie wissen wollen, welches freie Feld hinter User7 steckt, zählen Sie die <UserField>-Abschnitte von oben ab.
Ein gefülltes BaseDir schaltet die Ausgabe auch dann auf Datei um, wenn OutputType gar nicht auf file steht.
DepSearchOrder = 2 setzt eine hinterlegte Sortierliste voraus. Fehlt diese, fällt der Wert stillschweigend auf 0 zurück.
Drei Feldnamen behandelt der Shop trotz freier Definition wie Standardfelder: GiftProduct, GiftProductSubTotal und Glossary.
Die Parameter DepVar, Visible, Type, Uid und Order aus den Beispielen oben liest der Shop selbst nicht aus der prod.cfg. Der Import schreibt sie für andere Komponenten mit, etwa für die Oberflächen im Online-Servicebereich. Für die Darstellung im Shop sind sie ohne Wirkung.
Kategoriedaten: Category
Für jede Kategorie entsteht ein eigener Abschnitt <Category>.
Auszug für die Kategorie Handschuhe:
Identität und Inhalt
Der Parameter ist hier im Beispiel ergänzt.
Ein Index, der mit
cms- beginnt, kennzeichnet eine CMS-Kategorie. Der Index autobasket ist reserviert und taucht in der Navigation nicht auf.
Bilder
Wegweiser: Bilder einer Kategorie
Templates
Beide Templatezuweisungen vererben sich auf die Unterkategorien. Der Praxisfall weiter unten zeigt, warum das bei der Fehlersuche entscheidend ist.
Sichtbarkeit
Diese Parameter entscheiden, ob eine Kategorie im Shop überhaupt erscheint.Filterkriterien
Bei
Filter = g holt der Shop die Kriterien aus dem Abschnitt GlobalCategoryFilterCfg der prod.cfg, der dieselben Parameter Filter1, Filter2 und so fort enthält. Alle Kategorien mit Filter = g filtern dann nach denselben Feldern.
Anzeigename und Sortierung eines Filterkriteriums stammen nicht aus dem Kategorieabschnitt, sondern aus der Felddefinition in AttributeNames. Der Shop sucht den Feldnamen zuerst unter den freien Feldern, danach unter den Standardfeldern.
Produktzahlen
Ob diese beiden Werte überhaupt geschrieben werden, steuert der Abschnitt
CatProdCount der shop.config. Ist er nicht freigeschaltet, fehlen die Parameter in der prod.cfg, und die zugehörigen Tags geben nichts aus.
Referenz: shop.config, Produkte, Katalog und Suche
Suchmaschinen
Alle vier Parameter sperren auf
n. Jeder andere Wert, auch das y aus dem Beispiel, lässt Suchmaschinen gewähren.
Weitere Abschnitte
Die folgenden Abschnitte liest der Shop ebenfalls aus derprod.cfg.
Cfg
Das Basisverzeichnis der Templates steht nicht in dieser Datei. Der Shop setzt es fest auf
benutzer/templates/<Sprache>/.
InventoryCfg
DownloadCfg
AutoBasket
Enthält die Produkte, die der Shop automatisch in den Warenkorb legt.
Diesen Abschnitt sucht der Shop zuerst in der separaten Datei import-data-prod.cfg. Nur wenn er dort nicht steht, greift er auf die prod.cfg zurück. Wenn Sie Autobasket-Einträge in der prod.cfg ändern und sich nichts tut, prüfen Sie zuerst, ob die andere Datei einen Abschnitt <AutoBasket> enthält.
Wegweiser: Produkte automatisch in den Warenkorb legen
Drei Praxisfälle
Die folgenden drei Fälle zeigen, wie Sie typische Fragen mit einem Blick in dieprod.cfg beantworten. Öffnen Sie die Datei dafür jeweils im Online-Servicebereich unter dem Service “Konfiguration”.
Kategorieindex einer versteckten Kategorie ermitteln
Auf der Shop-Startseitews_start.htm sollen die Produkte der versteckten Kategorie Handschuhe erscheinen. Ohne Zugriff auf das Warenwirtschaftssystem kennen Sie deren Kategorieindex nicht, brauchen ihn für die Ausgabe aber zwingend.
Suchen Sie in der prod.cfg nach Handschuhe. Im gefundenen Abschnitt <Category> mit Name = Handschuhe lesen Sie den Parameter Index ab, im Beispiel 247398.
Mit diesem Index bauen Sie die Ausgabe auf der Startseite:
CAT-AdvData() · DC-CompareStringInList()
Ob eine Kategorie tatsächlich versteckt ist, erkennen Sie im selben Abschnitt am Parameter Hide. Steht dort y, erscheint die Kategorie nicht in der Navigation, bleibt über ihren Index aber erreichbar. Fehlt Hide, prüfen Sie die Oberkategorien, denn die Ausblendung vererbt sich nach unten.
Fehlende Kategoriebeschreibung aufklären
Bei einer Kategorie erscheint im Shop keine Beschreibung, obwohl der Shopbetreiber sagt, es sei eine hinterlegt. Suchen Sie in derprod.cfg nach der Kategorie, beispielsweise Handschuhe. Prüfen Sie im Abschnitt <Category> mit Name = Handschuhe die Parameter Descr und LongDescr.
Fehlen beide Parameter oder steht hinter dem = kein Wert, ist für die Kategorie tatsächlich keine Beschreibung hinterlegt. Sprechen Sie dann mit dem Shopbetreiber. Möglicherweise ist eine erneute Übertragung der Kategoriedaten nötig.
Sind die Parameter gefüllt, liegt es an den Templates. Prüfen Sie, ob die Ausgabe-Tags auf der Produktdetailansicht ws_product.htm vorhanden sind:
CAT-Descr · CAT-LongDescr
Änderungen an der Produktübersichtsseite wirken nicht
Sie haben die Produktübersichtsseitews_category.htm geändert, in einer bestimmten Kategorie ist davon aber nichts zu sehen. Dann hat diese Kategorie vermutlich ein eigenes Template zugewiesen bekommen.
Suchen Sie in der prod.cfg nach der Kategorie und prüfen Sie im Abschnitt <Category> die Parameter Template und ProdTemplate.
Handschuhe sowohl für die Produktdetailansicht ws_product.htm als auch für die Produktübersichtsseite ws_category.htm ein eigenes Template. Ihre Änderungen gehören dann in diese beiden Dateien.
Wenn ein erwarteter Wert fehlt
Taucht ein Parameter in derprod.cfg nicht auf, hilft diese Reihenfolge:
Prüfen Sie zuerst, ob der Wert überhaupt importiert wird. Die prod.cfg bildet ab, was das Warenwirtschaftssystem geliefert hat. Was dort nicht ankommt, steht auch hier nicht.
Prüfen Sie dann, ob das Feld im TopRank-Manager zur manuellen Pflege freigegeben ist. Freigegebene Felder stammen nicht aus der Warenwirtschaft, sondern aus dem Online-Servicebereich, und überleben jeden Import.
Prüfen Sie zuletzt, ob der Abschnitt überhaupt geschrieben wird. ProdCount und ProdCountChild beispielsweise entstehen nur, wenn der Abschnitt CatProdCount der shop.config freigeschaltet ist.