Zum Hauptinhalt springen
Die Importdatei 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.
Bearbeiten Sie die prod.cfg nicht von Hand. Der nächste Produktdatenimport überschreibt die Datei vollständig.Eine Ausnahme gibt es: Kategoriefelder, die Sie im TopRank-Manager zur manuellen Pflege freigegeben haben, führt der Import nach dem Schreiben wieder in die Datei zurück. Diese Felder stammen also nicht aus der Warenwirtschaft und überleben jeden Import. Welche das sind, legen Sie im TopRank-Manager fest.
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

Die prod.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.
Dieser Abschnitt ist zwingend erforderlich. Fehlt er, bricht der Shop mit einer Fehlermeldung ab.

Standard-Produktdatenfelder

Jedes Standard-Produktdatenfeld hat seinen eigenen Abschnitt innerhalb von AttributeNames. 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.
Ausblendung und Testmodus vererben sich nach unten. Steht eine Oberkategorie auf Hide = y oder Test = y, sind damit auch alle ihre Unterkategorien ausgeblendet, selbst wenn dort nichts eingetragen ist.Wenn eine Kategorie im Shop fehlt, prüfen Sie daher immer auch die Oberkategorien.

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 der prod.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 die prod.cfg beantworten. Öffnen Sie die Datei dafür jeweils im Online-Servicebereich unter dem Service “Konfiguration”.

Kategorieindex einer versteckten Kategorie ermitteln

Auf der Shop-Startseite ws_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:
Referenz: 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 der prod.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:
Referenz: CAT-Descr · CAT-LongDescr

Änderungen an der Produktübersichtsseite wirken nicht

Sie haben die Produktübersichtsseite ws_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.
In diesem Beispiel verwendet die Kategorie 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.
Spezielle Templates vererben sich auf alle Unterkategorien. Sind Template und ProdTemplate in der Kategorie selbst leer, prüfen Sie deshalb auch die Oberkategorien.

Wenn ein erwarteter Wert fehlt

Taucht ein Parameter in der prod.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.