Technische Referenz WyRu Online-Shop WyRu Online-Shop Team WyRu Christian Wyk / Günter Rubik SCS Bürocenter B1, A-2334 Vösendorf Internet http://www.wyru.at Inhalt Einleitung 3 Überblick über die Bestandteile des Shops 4 Parameter in der global.asa 7 Datenbankstruktur 11 Betrieb der Datenbank auf einem SQL-Server ................................................................ 12 Beschreibung der einzelnen Tabellen............................................................................... 12 Beschreibung der Shop-Kernfunktionen 21 Überblick der wichtigsten ASP-Vorlagen 28 Formatierungen mit CSS 31 Einleitung Das folgende Dokument dokumentiert die Interna des WyRu Online-Shops, die für die Implementierung und Administration der Software erforderlich sind. Vorraussetzung für das Verständnis der nachfolgenden Dokumentation sind Grundkenntnisse in Datenbanktechnik (z.B. mit MS Access) bzw. ein Grundverständnis der Entwicklung von Internetapplikationen auf Basis von Active Server Pages. Sollten Fragen zu einzelnen Punkten entstehen, so erreichen Sie die Autoren unter: Christian Wyk c/o ICS Computerschulung GesmbH, SCS Bürocenter B1, A-2334 Vösendorf [email protected] Günter Rubik c/o ICS Computerschulung GesmbH, SCS Bürocenter B1, A-2334 Vösendorf [email protected] oder per Fax an die Nummer +43 1 699 58 17. Überblick über die Bestandteile des Shops Das Gesamtpaket des WyRu Online-Shops gliedert sich in folgende Einzelteile: Den Shop als Ansammlung von HTML- und ASP-Dateien Jeder Lizenznehmer erhält vollen Zugriff auf die HTML- und ASP-Dateien aus denen der eigentliche Shop besteht (Open Source Lizenz). Während in den HTML-Dateien meist unveränderliche Informationen, wie z.B. die AGB, Hilfetexte zur Bestellung im Shop, etc. stehen, besteht der Großteil aus Active Server Pages (ASP-) Dateien. In diesen Dateien befindet sich neben dem Text/Layout in HTML-Form noch Programmcode in der Sprache VBScript. Dieser Programmcode ist durch die Zeichen <% bzw. %> eingegrenzt und sollte nur durch kundige Personen geändert werden. Einge genauere Beschreibung der einzelnen Dateien befindet sich weiter unten. Werden keine Anpassungsarbeiten durch Team WyRu bestellt, so wird der Shop in Form unseres Demoshops von http://demo.wyru.at geliefert. Die Shop-Kernfunktionen Damit nicht der gesamte Programmcode des Shops in den Seiten steht, in denen auch später das Layout des Shops geändert werden muß, wurden umfangreiche Routinen, die sich nur selten ändern in eine Funktionssammlung ausgelagert, die sich im Unterverzeichnis /shopproc befindet. Auf diese Funktionen können alle im Shop befindlichen ASP-Dateien zugreifen, sofern am Beginn der ASP-Datei das entsprechende Funktionsmodul inkludiert wurde. Beispielsweise inkludiert <!-- #include file=“shopproc/mail.asp“ --> die Funktionen zum Versenden von E-Mails. Eine genaue Auflistung der Shop-Kernfunktionen bzw. der dafür zu inkludierenden Module finden Sie weiter unten. Wird der Shop im Mietverfahren lizenziert, liegen die Shop-Kernfunktionen in einem unveränderlichen, virtuellen Verzeichnis. D.h. diese Module lassen sich nicht per FTP downloaden und verändern. Die Datenbanken des Shops Der Online-Shop bezieht seine Daten laufend aus einem relationalen Datenbanksystem. Eine genauere Beschreibung der Bestandteile dieser Datenbank befindet sich noch weiter unten. Die Admin-Pages Im Unterverzeichnis /admin des Shops liegt ein Web-Interface, über das der Shop gewartet werden kann. Dort können Artikel gepflegt, Informationen über Kunden abgerufen oder Parameter des Shops online geändert werden. Die Admin-Pages werden durch ein Kennwort geschützt, damit nicht jeder Besucher die Daten Ihres Shops verändern kann. Zusätzlich empfiehlt es sich, weitere Verfahren des Zugriffsschutzes, wie z.B. SSL, Sperren des anonymen Web-Zugriffes o.ä. auf dieses Verzeichnis anzuwenden. Die Admin-Pages liegen immer in Form der ASP-Dateien vor (Open Source Lizenz) und können deshalb beliebig angepasst werden. COM -Komponenten COM-Komponenten sind Dynamic Link Libraries (DLLs) die auf dem Web-Server vorhanden sein müssen und die vom Programmcode innerhalb der ASP-Seiten für Aufgaben aufgerufen werden, die innerhalb der VBScript-Sprache nicht durchführbar sind. Dazu gehören • • • Versenden von E-Mails Upload von Dateien Diverse Verschlüsselungen und Sicherheitsfunktionen Auf einem Windows NT bzw. Windows 2000 Server sind normalerweise durch das NT Option Pack (bei Windows 2000 bereits integriert) eine Reihe dieser COM-Komponenten vorinstalliert. Sollte bei einem Provider diese Komponenten nicht vorhanden sein, so muß zumindest ein äquivalenter Ersatz angeboten werden. Anderenfalls ist das NT Hosting des Providers für den WyRu Online-Shop nicht verwendbar. Neben den original Microsoft-Komponenten bietet WyRu ersatzweise auch eigene weiterentwickelte Komponenten (WyRu Tools) an. Diese können über das eigene Installationsprogramm der WyRu Tools auf dem Server installiert werden. Die WyRu-Tools liegen der Einzellizenz des WyRu Online-Shops bei und sind in der MietLizenz bereits vorinstalliert. Die WyRu Tools liegen ebenfalls als Source-Dateien im Format Visual Basic 6.0 vor (Open Source Lizenz) und können deshalb beliebig angepasst werden. Für den Datei-Upload empfehlen wir dringend den standardmäßig vorhandenen MS Posting Acceptor gegen ein professionelles Tool (z.B. den W3Uploader) auszutauschen. Offline-Tools Während die bisher beschrieben Teile des Shop hauptsächlich für den Online-Betrieb zuständig sind, existieren auch einige Hilfsprogramme, die zum Entwickeln des Artikelstammes bzw. zur Auswertung von Bestellungen gedacht sind. Diese WyRu Offline-Tools können über ein eigenes Installationsprogramm auf einem beliebigen PC (min. Pentium, 32 MB RAM, 10MB freie Festplatte, Windows 98, Internet Explorer 5.0) installiert werden. Die WyRu Offline-Tools liegen jeder Lizenz des WyRu Online-Shops bei. Die WyRu Offline-Tools liegen ebenfalls als Source-Dateien im Format Visual Basic 6.0 vor (Open Source Lizenz) und können deshalb beliebig angepasst werden. Dokumentation Neben dem hier vorliegenden Dokument existieren noch weitere überblicksmäßige Beschreibungen des Shops bzw. ein Leitfaden zur Installation auf einem Web-Server. Sämtliche Dokumente liegen im Format MS Word 2000 in digitaler Form vor. Es wird keine gedruckte Dokumentation geliefert. Parameter in der global.asa Die Parameter der global.asa bestimmen die generellen Eigenschaften bzw. das verhalten der Shopsoftware. Für Parameter deren Wert „true“ oder „false“ ist, sind nur diese beiden boolschen Werte zulässig. Jede andere Einstellung kann zu einem nicht vorhersehbaren Verhalten der Shopsoftware führen. • Application( "ShopName" ) = "WyRu Online-Shop" Name des Webshops • Application( "ShopURL" ) = “http://demo.cshop.at” Adresse des Webshops • Application( "Description" ) = "Der WyRu Online-Shop ist eine ständig wachsende eCommerce-Anwendung, die Ihre Internetpräsentation um Verkaufsfunktionen erweitert." Beschreibung des Webshops (für Anzeige in Suchmaschinen) • Application( "Keywords" ) = "Wyk, Rubik, Online-Shop, Shop, eCommerce, Shopping, Einkaufen, Verkaufen, Internet, Online, ASP, Frontpage, Active, Server, Pages, Datenbank, Microsoft, Access, Sourcecode, Newsletter, Gewinnspiel, Top, 10, Suche, Artikel" Suchbegriffe für den Webshop (für Suche über Suchmaschinen) • Application( "BasketInfo" ) = "Ändern der Bestellmenge: Ändern Sie die Anzahl und verwenden Sie die Ändern Schaltfläche." Hilfezeile unterhalb des Warenkorbes • Application( "OrderThanks" ) = "<p>Ihre Bestellung wurde eingeleitet. Sollten Sie eine E-Mail Adresse angegeben haben, werden Sie nochmals von der korrekten Weiterverarbeitung der Bestellung verständigt.</p>" Dankzeilen nach der Onlinebestellung • • • Application( "CustomerData" ) = "customerdata" Application( "DynamicData" ) = "dynamicdata" Application( "ItemData" ) = "itemdata" ODBC-Quellen für Datenbankzugriff • • Application( "CompanyEMail" ) = "[email protected]" Application( "ReplyEMail" ) = "[email protected]" an diese eMail-Adresse gehen Bestellungen bzw. werden als Antwortadressen verwendet • Application( "UploadPath" ) = "images\" Uploadpfad • Application( "ConfirmEMail" ) = 3 Soll an den Kunden eine Auftragsbestätigung per E-Mail erstellt werden 0 - Nein (Nichts) 1 - Kompakt (Nur der Warenwert) 2 - Ausführlich (zusätzlich Rechnung • Application( "OrderEMail" ) = 3 Soll an den Shop-Besitzer eine Bestellung per Mail gesendet werden 0 - Nur NEUE BESTELLUNG! (inkl. GUID) 1 - Kompakt (Nur der Warenwert) 2 - Ausführlich (zusätzlich Rechnungs/Lieferadresse) 3 - Komplett (auch die Artikel) • Application( "OrderEMailHTML" ) = 0 Legt fest, wie start die Bestellung formatiert werden soll 0 – Reine Text-Mail 1 – HTML-Mail: Bestellung in Form einer Tabelle • Application( "ConfirmText" ) = "Wir danken fuer Ihre Bestellung." Text für Bestätigungs-E-Mail • Application( "OrderConfirmation" ) = true Muß die Bestellung vom Kunden nochmals per E-Mail abgesegnet werden? • Application( "OrderConfirmationText" ) = "Damit Ihre Bestellung weiterverarbeitet wird, benutzen Sie bitte den untenstehenden Link." Erklärender Text für die gewünschte Bestätigung • Application( "SMTPServer" ) = "mail.cshop.at" SMTP-Server für E-Mails • Application( "CustomerNrStart" ) = 20000 Kundennummern beginnen bei • Application( "User" ) = "Admin" • Application( "Password" ) = "" liegen die Datenbanken auf einem SQL-Server muß authorisiert werden • Application( "StartPage" ) = "start.asp" Auf diese Seite springt der Shop, wenn auf die Startseite gesprungen werden soll • Application( "ErrorPage" ) = "start.asp" Auf diese Seite wird gesprungen, wenn sich z.B. bei einer Suche ein Fehler ergibt • Application( "NoHits" ) = "nohits.asp" Auf diese Seite springt der Shop, wenn eine Suche kein Ergebnis ergibt • Application( "SecurePage" ) = "http://secure.cshop.at/demo" Mit diesem URL wird in den gesicherten Bereich gesprungen normalerweise ein Aufruf von https:// ... • Application( "NoPic_prev" ) = "images/artikelK.gif" Dieses Bild wird verwendet, falls für den Artikel kein Vorschaubild existiert • Application( "PageSize" ) = 5 Soviele Artikel werden beim Paging auf einer Seite angezeigt • Application( "ShopAdminPassword" ) = "wyru" Administratorkennwort für den Shop • Application( "BasketDays" ) = 0 Wieviele Tage bleibt der Warenkorb eines Kunden erhalten obwohl er die Waren noch nicht wirklich geordert hat • Application( "ShowBasketAfterOrder" ) = true Soll bei einer Bestellung in den Warenkorb gesprungen werden, oder soll sofort wieder auf die vorangegangene Seite (z.B. Gruppenliste) zurückgeschaltet werden • Application( "Recommends" ) = true Sollen Weiterempfehlungen in der Detailansicht des Artikels angeboten werden? • Application( "SearchLog" ) = true Sollen alle Eingaben für Suchbegriffe mitgeschrieben werden • Application( "CheckoutItemnr" ) = "" Initiale Artikelnummer des Artikels, der beim Checkout angezeigt werden soll • Application( "CheckoutItemText" ) = "<p>Bevor Sie Ihre Bestellung abschließen hätte wir noch ein kleines Schnäppchen für Sie:</p>" Hinweistext, der beim Artikel im Checkout angezeigt werden soll • Application( "ItemOfTheWeekNr" ) = "" Initiale Artikelnummer des Artikels der Woche für die Startseite • Application( "TrimText" ) = true Sollen Texte bei der Anzeige auf der Startseite automatisch gekürzt werden. • Application( "DescriptionPopup" ) = false Soll die Zusatzinformation zum Artikel in einem PopUp-Fenster oder einfach hinter der Artikelbeschreibung angezeigt werden Tip: Verwenden Sie das Hilfsprogramm configmgr.exe, um die global.asa zu bearbeiten. Datenbankstruktur Der WyRu Online-Shop greift immer auf Datenbanken mit einer ODBC-Schnittstelle zu. Beispiele für den praktischen Einsatz wären MS Access, MS SQL-Server, etc. Bei Shops mit unter 1000 Artikeln bzw. unter 1000 Besuchern pro Tag kann problemlos mit MS Access als Datenbank gearbeitet werden. In der Praxis haben sich bei den Vorgängerversionen von MS Access im Betrieb immer wieder Probleme ergeben, so dass wir für den Betrieb am Server MS Access 2000 empfehlen. Wird eine dateibasierte Datenbank wie z.B. MS Access verwendet, so bezieht der Shop seine Information aus insgesamt drei Datenbanken: Itemdata Diese Datenbank enthält alle Informationen zum Artikel bzw. zur Gruppierung der Artikel. Die Inhalte dieser Datenbank werden nur von den Administrations-Modulen verändert. Der Shop greift nur lesend auf diese Daten zu. Diese Datenbankdatei kann also problemlos offline mit den Offline-Tools oder direkt mit MS Access o.ä. bearbeitet und dann per FTP über die am Server bestehende Version kopiert werden. Der Shop spiegelt dann sofort die neuen Datenbankinhalte wieder. Customerdata Diese Datenbank enthält die Kundendaten, die bei der Registrierung von Neukunden gesammelt werden. Dieser Teil der Datenbank sollte im laufenden Betrieb nicht mehr überschrieben werden, da damit sämtliche Informationen über Kunden verloren gehen. Das ist insbesondere wichtig, da innerhalb der Bestellung nur eine Kundennummer aufgezeichnet wird, die sich auf einen in der Customerdata-Datenbank befindlichen Kunden bezieht. Veränderungen an dieser Datenbank sollten immer nur online, am einfachsten über die Admin-Pages (Webadministration) vorgenommen werden. Ist der Web-Server im eigenen Unternehmen untergebracht, kann auch direkt z.B. mit MS Access darauf zugegriffen werden. Diese Datenbank sollte regelmäßig gesichert werden. Dynamicdata Diese Datenbank benutzt der Shop für seinen laufenden Betrieb, d.h. das führen des Warenkorbs, die Protokollfunktionen, die abgeschlossenen Bestellungen. Auch die Konfigurationsdaten, die über die Admin-Pages geändert werden können, sind in dieser Datenbank abgelegt. Veränderungen an dieser Datenbank sollten immer nur online, am einfachsten über die Admin-Pages (Webadministration) vorgenommen werden. Ist der Web-Server im eigenen Unternehmen untergebracht, kann auch direkt z.B. mit MS Access darauf zugegriffen werden. Diese Datenbank sollte regelmäßig gesichert werden. Betrieb der Datenbank auf einem SQL-Server Beim Betrieb auf einem SQL-Server werden die Daten der oben beschriebenen Teil in nur einer Datenbank gehalten. Für den Offline-Betrieb wird trotzdem die oben beschriebene Dreiteilung verwendet und beim Übertragen auf den Web-Server zu einem Datenbestand vereint. Da die meisten SQL-Server den Zugriff nur mit bestimmten Benutzernamen/Kennwort gestatten, ist es unbedingt notwendig in der Konfigurationsdatei global.asa die Parameter Username und Password entsprechend zu setzen. Wichtige Felder in den einzelnen Tabellen GUID Das Feld GUID in der Sessiondata Tabelle enthält eine eindeutige Kennung für die aktuelle Einkaufssitzung. Der Wert dieses Feldes wird vom Shop in einer Session-Variable Session("ID") gehalten. Alternativ kann er auch als URL-Parameter übergeben werden (z.B. beim Wechsel vom normalen Webserver auf den SSL-Server der Fall). CustomerNr Die Kundennummer des aktuellen Benutzers. Sie wird in der Customers Tabelle gespeichert und dient als Verweis in viele anderen Tabellen des Shops. Eine Bestellung gilt dann als abgeschickt, wenn der entsprechende Datensatz in der Sessiondata Tabelle mit einer CustomerNr "signiert" wird. Der Shop hält die Kundennummer des aktuellen Kunden, sofern er z.B. über ein Cookie erkannt wurde, in der Variable Session("CustomerNr"). Beschreibung der einzelnen Tabellen Der folgende Abschnitt enthält die Details zu den einzelnen Tabellen der Datenbanken des Online-Shops. Tabelle: availability Datenbank: itemdata.mdb Enthält die Vorgaben für die Online-Administration, welche Produktverfügbarkeiten (Sofort, 2-3 Tage, etc.) zur Auswahl angezeigt werden sollen. caption Text 255 Tabelle: currencys Datenbank: itemdata.mdb Enthält die verfügbaren Währungen und ihre Umrechnungsfaktoren. Die Tabelle wird vom Standard-Shop nicht verwendet. iso Text 255 name symbol change Text Text Currency 255 255 8 Tabelle: groups Datenbank: itemdata.mdb Die Tabelle enthält die Definition der Artikelgruppen. Haupt- und Untergruppen treten gemeinsam auf. Durch das Attribut parentid wird eine Abhängigkeit zu einer anderen Gruppe hergestellt. Beachten Sie, dass das jeweilige Shop-Layout nur eine bestimmte maximale Gliederungstiefe erlaubt. id groups parentid position filename groups2 memo picture_det parent visible Long Text Long Double Text Text Memo Text Text Boolean 4 255 4 8 255 255 0 255 255 1 Tabelle: itemfamilies Datenbank: itemdata.mdb Die Tabelle enthält die verwandten Artikel zu einem Artikel. itemnr familyitemnr Text Text 12 12 Tabelle: itemgroups Datenbank: itemdata.mdb Die Tabelle enthält die Beziehung zwischen Artikel und Gruppen. Ein Artikel darf in beliebig vielen Gruppen enthalten sein. groups itemnr Long Text 4 255 Tabelle: itemparameters Datenbank: itemdata.mdb Die Tabelle enthält Zusatzparameter, die beim Bestellen eines Artikels angegeben werden können, um den Artikel für die Bestellung zu personifizieren.. Beispielsweise kann beim Bestellen einer Visitenkarte der Name und die Adresse der Karte angegeben werden. Die Tabelle wird vom Standard-Shop nicht verwendet. itemnr name type Text Text Text 255 255 255 values position optional Text Long Boolean 255 4 1 Tabelle: items Datenbank: itemdata.mdb Diese Tabelle ist die wichtigste der itemdata-Datenbank. In der Tabelle werden die Artikeldaten gehalten. Die Tabelle kann für den Aufbau Ihres speziellen Shops erweitert werden. Um die zusätzlichen Felder auch in den Formularen des Shops darzustellen, können Sie entweder die Sourcecodes verändern oder mit der itemextend.asp Bibliothek arbeiten. itemnr matchcode group itemname1 itemname2 sizes colors unit weight price_ats price_eur memo picture_prev picture_det dispatchable availability delivery consumption1 c_unit1 c_text consumption2 c_unit2 packing quantity p_unit specialprice iscampaignitem specialpricetext link description linksymbol linktext memo2 position modified created soundex filename Text Text Long Text Text Text Text Text Single Currency Currency Memo Text Text Boolean Text Text Text Text Text Text Text Text Text Text Currency Boolean Text Text Memo Text Text Memo Long Datum / Zeit Datum / Zeit Text Text 12 10 4 255 255 50 50 5 4 8 8 0 50 50 1 30 50 8 8 20 8 8 15 8 8 8 1 255 255 0 255 255 0 4 8 8 255 255 Artikelnummer (notwendig) Suchbegriff für ev. Anbindung an ERP ID der Hauptgruppe Name des Artikels Zusatzname des Artikels Größen eines Artikels (z.B. S,M,L,XL) Farben des Artikels (z.B. rot,blau,gelb) Einheit des Artikels (z.B. Stk) Gewicht (für Portoberechnung) Preis in Schilling (oder Hauptwährung) Preis in Euro Kurzbeschreibung des Artikels URL für Bild des Artikels URL für verkleinertes Vorschaubild Artikel ist lieferbar Verfügbarkeit des Artikels notwendige Art der Lieferung Verbrauch (z.B. 10) Verbrauch (z.B. kg) Verbrauch (z.B. auf) Verbrauch (z.B. 1) Verbrauch (z.B. m²) Verpackung (z.B. Palette) Verpackung (z.B. 100) Verpackung (z.B. Stück) Rabattpreis Ist der Artikel herabgesetzt Text zur Aktion (z.B. 10% reduziert) Hyperlink zum Artikel (z.B. http://...) Langbeschreibung des Artikels URL für Symbol zum Hyperlink Text zum Hyperlink (z.B. Hersteller) Zusatzbeschreibung des Artikels Gewicht bei Suchlisten Datum der letzten Änderung Datum der Artikelanlage Soundex-Code des Artikelnamens URL mit Datei zum Artikel Tabelle: keywords Datenbank: itemdata.mdb Alternative Namen für die Suche nach einem Artikel. itemnr keyword position soundex Text Text Long Text 255 255 4 255 Tabelle: ordermail Datenbank: itemdata.mdb E-Mail Adressen, an die die Bestell-Mail gehen soll, wenn der Besteller aus einem bestimmten Land kommt. Ist kein Land für den Besteller definiert, wird der Parameter aus der Konfigurationsdatei global.asa verwendet. country Text destinationaddress Text 255 255 Tabelle: sahcosts Datenbank: itemdata.mdb Diese Tabelle definiert Kosten für das Porto für verschiedene Versandarten bei bestimmten Gewichtsgrenzen. Die Tabelle wird von der sah.asp Bibliothek verwendet. weight scosts scosts_fc scosts_cc Double Currency Currency Currency 8 8 8 8 Tabelle: competitors Datenbank: customerdata.mdb Diese Tabelle speichert die Teilnehmer, die sich im Gewinnspiel eintragen. surename firstname street zip country tel email cdate Text Text Text Text Text Text Text Datum / Zeit 255 255 255 255 255 255 255 8 Tabelle: config Datenbank: customerdata.mdb Diese Tabelle speichert Konfigurationsdaten. Der Standard-Shop verwendet jedoch die gleichnamige Tabelle in der dynamicdata.mdb Datenbank. name value Text Text 255 255 Tabelle: customergifts Datenbank: customerdata.mdb Enthält Geschenke, Prämien, etc. die Sie einem Kunden machen möchten. Der Standardshop präsentiert diese Prämien dem Kunden beim nächten Anmelden. Eine Prämie ist prinzipiell ein Artikel (siehe auch Beschreibung eines Artikels in der itemsTabelle), die allerdings zu einem günstigeren Preis oder komplett gratis angeboten werden. Da die Tabelle eine Reihe von Artikelbeschreibungsfeldern enthält, muß der Artikel nicht unbedingt im Artikelstamm des Shops liegen. customernr itemnr itemname1 itemname2 amount unit size color sizes colors weight price_ats price_eur message giftnr Text Text Text Text Double Text Text Text Text Text Text Currency Currency Text Double 255 255 255 255 8 255 255 255 255 255 255 8 8 255 8 Tabelle: customers Datenbank: customerdata.mdb Eine weitere wichtige Tabelle innerhalb des Shops, da in dieser Tabelle die Rechnungs- bzw. Lieferadresse ihrer Kunden gespeichert werden. Der Standard-Shop erstellt in dieser Tabelle einen Datensatz entweder während des Checkout-Prozesses oder beim Anlegen eines VIP-Kunden. customernr title firstname surename street zip city country email tel fax sup_title sup_firstname Text Text Text Text Text Text Text Text Text Text Text Text Text 5 50 50 50 50 8 50 50 50 50 50 50 50 sup_surename sup_street sup_zip sup_city sup_country customermemo shipment delivery payment charge Text Text Text Text Text Text Text Text Text Single 50 50 8 50 50 255 20 50 50 4 Tabelle: newsletter Datenbank: customerdata.mdb In dieser Tabelle speichert der Shop E-Mail Adressen der Personen, die sich für einen Newsletter eintragen. Da der Benutzer die Auswahl mehrere Newsletter zur Auswahl haben kann, steht bei jeder E-Mail Adresse auch der gewünschte Newsletter. newsletter email Text Text 255 255 Tabelle: orderemail Datenbank: customerdata.mdb E-Mail Adressen, an die die Bestell-Mail gehen soll, wenn der Besteller aus einem bestimmten Land kommt. Ist kein Land für den Besteller definiert, wird der Parameter aus der Konfigurationsdatei global.asa verwendet. destcountry destemail Text Text 255 255 Tabelle: vip Datenbank: customerdata.mdb Ergänzt den Adreßdatensatz des Kunden um die Informationen, die für VIP-Kunden gespeichert sind. Ein VIP-Kunde kann beispielsweise seine Kreditkarteninformationen einmalig ablegen und später per Kennwort wieder reaktivieren. customernr email password cardnr cardtype cardowner cardexpire shipment Text Text Text Text Text Text Text Double Tabelle: basket Datenbank: dynamicdata.mdb 255 255 255 255 255 255 255 8 interner Code für Versand/Zahlung Diese wichtige Tabelle speichert während des Betriebs des Shops den Inhalt des Einkaufswagens. Wird die Bestellung abgeschlossen bleiben die Zeilen vorhanden und dienen später als Bestelldetails. Wird der Shop ohne Bestellung verlassen, werden die Zeilen beim Ablauf der Session des Benutzers verlassen. GUID itemnr itemname1 itemname2 amount unit size color weight price_ats price_eur gift giftnr Guid Text Text Text Integer Text Text Text Double Currency Currency Boolean Double 16 12 35 50 2 50 50 50 8 8 8 1 8 Tabelle: config Datenbank: dynamicdata.mdb Diese Tabelle speichert Konfigurationsdaten. Die darin enthaltenen Informationen überschreiben die Einstellungen in der Konfigurationsdatei global.asa. name value Text Text 255 255 Tabelle: itemoftheday Datenbank: dynamicdata.mdb In dieser Tabelle sind die Artikelnummer der Artikel gespeichert, die der Shop auf der Eingangsseite als Artikel des Tages anzeigen soll. itemnr date Text 255 Datum / Zeit 8 Tabelle: newsletter Datenbank: dynamicdata.mdb In dieser Tabelle speichert der Shop E-Mail Adressen der Personen, die sich für einen Newsletter eintragen. Da der Benutzer die Auswahl mehrere Newsletter zur Auswahl haben kann, steht bei jeder E-Mail Adresse auch der gewünschte Newsletter. newsletter email Text Text Tabelle: recommends Datenbank: dynamicdata.mdb 255 255 In diese Tabelle speichert der Shop Empfehlungen, die ein Kunde für einen Artikel an einen anderen Kunden/Bekannten abgegeben hat. Außerdem protokolliert der Shop das Betreten des Shops über einen Partner-ID in dieser Tabelle. itemnr date partnerid customernr points Text Datum / Zeit Text Text Double 255 8 255 255 8 Tabelle: searchlog Datenbank: dynamicdata.mdb In dieser Tabelle werden alle eingegebenen Suchbegriffe aufgezeichnet. text date source Text 255 Datum / Zeit 8 Text 255 Tabelle: sessiondata Datenbank: dynamicdata.mdb Diese weitere wichtige Tabelle enthält für jeden Besucher einen Datensatz und speichert Statusinformation während des Einkaufes. Verlässt der Kunde den Shop ohne zu bestellen, wird der Datensatz gelöscht. Wird die Bestellung durchgeführt, wird der Datensatz um weitere Informationen ergänzt. Ein Datensatz in dieser Tabelle ist dann eine gültige Bestellung, wenn das Attribut customernr eingetragen ist. Das Attribut GUID der Tabelle ist die eigentliche Session eines Kunden im Shop. GUID customernr shipment cardnr cardexpire cardowner cardtype smemo sdate nr oneclick BasketPieces BasketValueATS BasketValueEUR weight SAHATS SAHEUR SessionData status confirmationdate Tabelle: top10 Guid Text Long Text Text Text Text Memo Datum / Zeit Long Boolean Double Currency Currency Double Currency Currency Memo Text Datum / Zeit 16 5 4 50 50 50 50 0 8 4 1 8 8 8 8 8 8 0 255 8 Datenbank: dynamicdata.mdb Die Tabelle enthält gesetzte Plätze in der Top-10 Tabelle. place itemnr Double Text 8 255 Tabelle: votings Datenbank: dynamicdata.mdb Diese Tabelle enthält die Ergebnisse aus der 1-Click Voting Funktion des Shops mit der Sie Umfragen mit vorgegebenen Anworten auf Ihrer Site veranstalten können. voteid vote count Long Long Long 4 4 4 Beschreibung der Shop-Kernfunktionen Der Shop bietet einige Bibliotheken, die im Verzeichnis shopproc des Shops liegen und die Funktionen für die bequeme Erstellung von Seiten für den Online-Shop anbieten. Bei der Lizenzierung als Mietshop ist das shopproc-Verzeichnis nur virtuell in den Shop eingeblendet und kann nicht geändert werden. Bei der Lizenzierung für den Betrieb auf einem eigenen Server ist das shopproc-Verzeichnis im Lieferumfang enthalten und kann vollständig modifiziert werden. Die Bibliotheken im shopproc-Verzeichnis werden ständig erweitert und verbessert. Wir empfehlen regelmäßig die Site www.wyru.at/doc aufzurufen und die neueste Version dieses Dokuments bezügich neuen Kernfunktionen zu sichten. Einbinden von Bibliotheken Sollen die Funktionen einer Bibliothek innerhalb einer .asp Datei verwendet werden, so muß am Anfang der Datei die Zeile <!-- #include file=“bibliothek.asp“ --> ergänzt werden. Diese Zeile kann auch mehrfach auftreten. Referenz der Bibliotheken Bibliothek: admintools.asp Die admintools.asp Bibliothek enthält Funktionen, die innerhalb der Admin-Pages verwendet werden. • Function TrimNull( x ) Gibt den Wert x oder im Fall eines Leerstrings die Konstante NULL zurück. • Function ToString( x ) Gibt den Wert x oder im Fall von NULL einen Leerstring zurück. • Function PasswordMatch( x, y ) Prüft, ob die Kennworte x und y identisch sind. • Function TrimBoolean( x ) Gibt die Konstante TRUE oder FALSE zurück, egal ob ein Boolean-Wert oder ein numerischer Wert übergeben wurde. • Function SQLDate( x ) Wandelt ein Datum in ein Format um, daß in eine SQL-Query eingesetzt werden kann. • Function parentgroupcaption(id) Ermittelt die zum Id passende Vorgängergruppe und gibt deren Bezeichnung zurück. • Function groupcaption(id) Gibt die Bezeichnung einer Gruppe passend zum Id zurück. • Sub additemgroup(itemnr,groupid, newgroupid) Fügt eine Artikelnummer einer Gruppe hinzu. • Function listitemgroups(itemnr) Gibt einen String mit den Gruppen zurück, zu denen ein Artikel gehört. • Function groupselect(id, sname) Erzeugt den HTML-Code für eine Auswahlliste mit den vorhandenen Gruppen. • Function listitemfamilies(itemnr) Gibt einen String mit den verwandten Artikeln zu einer gegebenen Artikelnummer zurück. • Function itemselect(itemnr, sname) Erzeugt den HTML-Code für eine Auswahlliste mit allen gespeicherten Artikeln. • Sub changegroup(id, position, caption, visible) Ändert die Daten der Gruppe, die durch den Id spezifiziert wird. • Sub addnewmaingroup(position, caption) Erzeugt eine neue Hauptgruppe. Bibliothek: country.asp Die Bibliothek erzeugt Auswahllisten für Länder in Adressen. • Sub WriteCountrySelect( id, value, isenabled ) Die Funktion schreibt den HTML-Code für eine Auswahlliste für ein Land in den HTML-Code. Das Kombinationsfeld bekommt den Namen id, zeigt – sofern dieses Land erlaubt – das Land value als Startwert an. Der Parameter isenabled legt fest, ob der Anwender den angezeigten Wert ändern darf. Bibliothek: familyitems.asp Die Bibliothek enthält Funktionen für die Verwaltung und Anzeige von verwandten Artikeln. • Function GetDB( byval prefix ) Die Funktion gibt eine ADO-Connection auf die itemsdata-Datenbank zurück. Der Parameter prefix wird derzeit nicht verwendet. • Function GetRecordset( sql, con, writeable ) Die Funktion gib t ein ADO-Recordset für ein gegebenes SQL-Query zurück. • Function FamilyItemsRecordcount(byval itemnr) Die Funktion ermittelt, wieviele verwandte Artikel existieren. • Function FamilyItemsItemNext(byval itemnr) Jeder Aufruf der Funktion ermittelt den nächsten verwandten Artikel. Die Daten des gefundenen Artikels werden in den globalen Variablen familyitemsitemnr, familyitemsitemname1 und familyitemspicture_prev zur Verfügung gestellt. Bibliothek: groups.asp Die Bibliothek stellt Funktionen zur Verfügung, mit denen eine Anzeige der Artikelgruppen (auch in mehreren Ebenen) realisiert werden kann. Sub ShowRootEntries(actualgroupid) Schreibt den HTML-Code für die Darstellung der Hauptgruppen. Function ShowEntries(actualgroupid) Gibt den HTML-Code zur Darstellung der durch den Parameter angegebenen Untergruppe zurück. • Function parentgroupcaption(id) Ermittelt die zum Id passende Vorgängergruppe und gibt deren Bezeichnung zurück. • Function groupcaption(id) Gibt die Bezeichnung einer Gruppe passend zum Id zurück. Bibliothek: info.asp Die Bibliothek info.asp enthält keine Funktionen sondern erzeugt direkt den HTML-Code, der die Anzeige der Anzahl der Artikel bzw. den Wert der Artikel im Warenkorb durchführt. Die Bibliothek wird einfach an die gewünschte Stelle innerhalb der .asp Datei eingefügt. Bibliothek: mail.asp Die Bibliothek mail.asp enthält Funktion zum Versenden von E-Mails an Kunden und an den Shop-Besitzer. • Function SendOrderMail( byval guid ) Schickt eine E-Mail mit der Bestellung für die Kunden-Session die durch guid bezeichnet wird an den zuständigen Shop-Besitzer. • Function SendConfirmMail( byval guid ) Schickt eine E-Mail mit einer Zusammenfassung der Bestellung an den bestellenden Kunden. • Function SendConfirmMailExt( byval guid, byval mail ) Schickt eine E-Mail mit einer Zusammenfassung der Bestellung an den bestellenden Kunden. Der Text kann selbst formuliert werden. • Function CreateMailText( guid, level ) Erzeugt den Text für die Zusammenfassung der Bestellung. Der Level gibt den Umfang der Zusammenfassung an. • Function GetCountry( guid ) Gibt das Land eines Bestellers aus einer durch guid spezifizierten Bestellung zurück. • Function GetEMail( guid ) Ermittelt die E-Mail Adresse eines Bestellers aus einer durch guid spezifizierten Bestellung zurück. • Function GetNr( guid ) Gibt die Bestellnummer einer Bestellung zurück. • Function GetMemo( guid ) Gibt die Bemerkung zurück, die der Kunde bei der Bestellung mit eingegeben hat. • Function TrimBrakets( guid ) Nimmt die geschwungenen Klammern bei der GUID einer Bestellung weg. • Function SendMail( sender, sendernamen, empfänger, empfängernamen, betreff, text ) Sendet eine Mail an den angegebenen Empfänger. Achtung bei Absender: eventuell lässt der Mail-Server wegen Spamming-Schutz nur manche Absender zu. • Function SendMailWithAttachments(sender, sendernamen, empfänger, empfängernamen, betreff, text, dateinamen ) Sendet eine Mail an den angegebenen Empfänger. Achtung bei Absender: eventuell lässt der Mail-Server wegen Spamming-Schutz nur manche Absender zu. Mehrere Dateinamen können per + Zeichen aneinandergehängt werden. • Function SendHTMLMail( sender, sendernamen, empfänger, empfängernamen, betreff, text ) Sendet eine Mail an den angegebenen Empfänger. Achtung bei Absender: eventuell lässt der Mail-Server wegen Spamming-Schutz nur manche Absender zu. Der Text sollte mit den <body></body> Tags eingeschlossen sein und kann beliebige HTMLTags enthalten. • Function SendHTMLMailWithAttachments(sender, sendernamen, empfänger, empfängernamen, betreff, text, dateinamen ) Sendet eine Mail an den angegebenen Empfänger. Achtung bei Absender: eventuell lässt der Mail-Server wegen Spamming-Schutz nur manche Absender zu. Mehrere Dateinamen können per + Zeichen aneinandergehängt werden. Der Text sollte mit den <body></body> Tags eingeschlossen sein und kann beliebige HTML-Tags enthalten. • Function ExistsEMail( email ) Prüft, ob bereits ein VIP-Kunde mit dieser E-Mail Adresse existiert. • Function IsCreditcard( sah ) Prüft, ob der SAH-Code eine Zahlungsart mit Kreditkarte ist • Function GetPaymentName( sah ) Gibt für den SAH-Code eine textmäßige Bezeichnung der Zahlungsart aus. Weicht die Codierung vom WyRu Online-Shop ab, so können über Application( „PaymentName1“ ), Application( „PaymentName2“ ), etc. eigene Bezeichnungen gesetzt werden. Bibliothek: sah.asp Enthält die Funktionen, die aus dem gegebenen Gewicht einer Bestellung das Porto berechnet. Sollten Sie eine andere Portoberechnung benötigen, so müssen Sie diese Funktionen selbst nachbilden. • Function SAHCostLKW( weight ) Kalkuliert die Kosten bei Zustellung per LKW (sofern diese Zahlungs-/Liefervariante verwendet wird). • Function SAHCostMailNN( weight ) Kalkuliert die Kosten bei Zustellung per Nachnahme (sofern diese Zahlungs/Liefervariante verwendet wird). • Function SAHCostMailCC( weight ) Kalkuliert die Kosten bei Zahlung per Kreditkarte (sofern diese Zahlungs/Liefervariante verwendet wird). • Function SAHCostSelf( weight ) Kalkuliert die Kosten bei Selbstabholung (sofern diese Zahlungs-/Liefervariante verwendet wird). • Function SAHCostEurope( weight ) Kalkuliert die Kosten bei Zustellung innerhalb Europas (sofern diese Zahlungs/Liefervariante verwendet wird). • Function SAHCostWorldwide( weight ) Kalkuliert die Kosten bei Zustellung weltweit (sofern diese Zahlungs-/Liefervariante verwendet wird). • Function SAHCostCash( weight ) Kalkuliert die Kosten bei Barzahlung (sofern diese Zahlungs-/Liefervariante verwendet wird). Bibliothek: tools.asp Die tools.asp Bibliothek stellt allgemeine Funktionen für den Aufbau der Shop-Seiten zur Verfügung. • Function checkCCNumber(ccn) Führt den Offline-Check für Kreditkartennummern durch. • Function NewCustomerNr() Ermittelt für einen Kunden eine neue Kundennummer • Function ExistCompetitorEMail(cemail) Hat sich diese E-Mail Adresse bereits für das Gewinnspiel eingetragen • Function getdestemail(country) Ermittelt für ein bestimmtes Land die E-Mail Adresse, an die der Shop die gerade eingegangene Bestellung senden soll. • Function TrimText( byval x, href ) Mit dieser Funktion wird Text z.B. für die Anzeige auf der Startseite gekürzt. Zumindest bis die Variable Application( "TrimText" ) = false gesetzt wird. Wird der Text gekürzt, so wird ein Link auf den hrefParameter für den ganzen Text gesetzt. • Sub StoreSessionData( byval field, byval value ) Speichert einen Wert unter der Bezeichnung field in den Session-Datensatz. • Function GetSessionData( field ) Holt denWert, den Sie unter der Bezeichnung field in den Session-Datensatz gespeichert haben, zurück. • Sub TestNewSession() Prüft, ob in dieser Kunden-Session die Bestellung bereits abgeschlossen ist und generiert in diesem Fall eine neue Session. • Function groupcaption(id) Ermittelt den Namen einer Gruppe zur gegebenen Id • Function parentgroupcaption(id) Ermittelt den Namen des Vorgängers der Gruppe zur gegebenen Id • Sub SetDynamicParameter Ermittelt, ob in der Datenbank eventuell Parameter abgelegt sind, die die in GLOBAL.ASA abgespeicherten überschreiben Überblick der wichtigsten ASP-Vorlagen Folgende .asp Seiten realisieren die Funktion des Shops und können an Ihren eigenen Shop angepasst werden. 1click.asp 1clickbasket.asp basket.asp checkgift.asp checkout.asp clearbasket.asp confirmation.asp default.asp description.asp detail.asp formattools.asp gifttobasket.asp grplist.asp info.asp itemoftheday.asp itemoftheweek.asp list.asp logout.asp Menue.asp modifybasket.asp newsletter.asp nohits.asp ordercheckoutitem.asp prosearch.asp searchlist.asp start.asp thankyou.asp top10.asp winnings.asp winningscheck.asp menunew.asp familyitems.asp Realisiert die 1-Click Bestellung aus dem Artikel. Realisiert die 1-Click Bestellung vom Warenkorb. Zeigt den Inhalt des Warenkorbes. Entfernt eventuell zugestandene Prämien. Beginnt den Checkout-Prozeß. Löscht den Inhalt des Warenkorbes. Frameset für den Shop. Detailanzeige für Artikel. Bibliothek für die Formatierung. Zeigt die Artikel einer Gruppe an. Zeigt die Anzahl der Artikel im Warenkorb. Zeigt den Artikel des Tages. Zeigt den Artikel der Woche. Meldet den Kunden vom Shop ab. Zeigt die Artikelgruppen an. Ändert die Bestellmenge im Warenkorb. Ermöglicht dem Kunden die Anmeldung zum Newsletter. Anzeige, wenn nichts gefunden wurde. Bestellt den Checkout-Artikel. Ergebnis der Profi-Suche. Ergebnis der normalen Suche. Startseite des Shops. Abschluß des Checkout-Prozesses. Anzeige der Top 10-Artikel. Gewinnspiel Prüfung, ob jemand am Gewinnspiel bereits teilgenommen hat. Anzeige verwandter Artikel. Verzeichnis \admin avail.asp countries.asp customerlist.asp customersales.asp customersearch.asp default.asp filebrowse.asp filedelete.asp Liste aller Kunden Bestellungen eines Kunden Details zu einem Kunden Anzeige der upgeloadeten Dateien Löschen von upgeloadeten Dateien filelist.asp groups.asp itemdelete.asp itemlist.asp itemnew.asp itemparameter.asp itemsave.asp itemsearch.asp login.asp logout.asp mailsearch.asp money.asp navigation.asp newsletteradmin.asp orderlist.asp ordersearch.asp ordersearch2.asp parameter.asp partners.asp password.asp reset.asp searchlog.asp showitem.asp status.asp textparameter.asp toolbar.asp top10admin.asp upload.asp vip.asp updatedb.asp itemgroups.asp itemfamilies.asp subgroups.asp shopusers.asp itemofday.asp Auflisten der vorhandenen Gruppen Löschen eines Artikels Auflisten von Artikeln Neuanlegen eines Artikels Speichern eines Artikels Anzeige eines Artikels Anmelden an den Admin-Pages Abmelden von den Admin-Pages Anzeige der Details zu Bestellungen Senden von Newslettern Anzeige der Bestellungen Anzeige der Details zur Bestellungen Anzeige der Details zur Bestellungen Ändern des Kennwortes Administrieren der Top 10-Liste Uploaden von Bildern für Artikel Aktualisieren der Datenbank auf neue Shop-Version Gruppenzugehörigkeit von Artikel Verwandte Artikel administrieren Administrieren des Artikels des Tages/der Woche Verzeichnis \recommend Shopdateien für die Weiterempfehlung bzw. für eventuelle Partner default.asp Verzeichnis \secure Shopdateien für den SSL-Server. Sie entsprechen gesicherten Versionen der gleichnamigen Dateien im Hauptverzeichnis. checkout.asp default.asp info.asp Menue.asp register.asp start.asp thankyou.asp Verzeichnis \vip Shopdateien für die Verwaltung von VIP-Kunden. forgotten.asp login.asp logout.asp password.asp register.asp seek.asp Kunden können sich ein vergessenes Kennwort schicken lassen. Kunde kann sich am Shop anmelden. Kunde kann sich vom Shop abmelden. Kunde kann sein Kennwort ändern. Kunde kann sich neu registrieren. Anmeldung am Shop durchführen. Formatierungen mit CSS Die Formatierung des Shops kann über das zentrale Stylesheet standard.css komplett geändert werden, da darin Schriftart, Farbe, Linienarten und –breiten, etc. festgelegt werden. Sie können diese Datei abändern bzw. erweitern um den Shop an Ihre Bedürfnisse anzupassen. Es ist jedoch auch möglich die Formatierung direkt in den einzelnen Seiten vorzunehmen, was jedoch einen höheren Verwaltungsaufwand mit sich bringt. Zur Bearbeitung der StylesheetDatei können Sie jeden beliebigen Texteditor (z.B. Notepad) ,diverse Web-Editoren (Frontpage 2000, Dreamweaver 3.0) oder eigene Programme (z.B. Topstyle 1.5) verwenden. Folgendes Stylesheet wird im Demoshop verwendet: P {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; MARGIN-BOTTOM: 2px; MARGIN-TOP: 2px } .tableborder {text-align: left; border: 1px solid #000080 } P.header {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; MARGIN-BOTTOM: 2px; MARGIN-TOP: 2px; COLOR: #FFFFFF; FONT-WEIGHT:bold} a:hover{color:#000000;TEXT-DECORATION:none } h1 {font-family: Verdana, Arial, Helvetica; font-size: 18px; color: #000062; fontweight: bold; margin-top: 4px; margin-bottom: 4px } h2 {font-family: Verdana, Arial, Helvetica; font-size: 14px; font-weight: bold; margin-top: 4px; margin-bottom: 4px } H3 {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 20px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px; MARGIN-TOP: 4px} H4 {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 18px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px; MARGIN-TOP: 4px} H5 {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 16px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px; MARGIN-TOP: 4px} H6 {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px; MARGIN-TOP: 4px} LI {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; LIST-STYLE: disc} ADDRESS {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 14px} .NormalK {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 10px; MARGIN-BOTTOM: 2px; MARGIN-TOP: 2px} .Preis {FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 16px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px; MARGIN-TOP: 4px} .plusgrun {COLOR: #008000; FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 2px; MARGIN-TOP: 2px} .Ubersch4ro {COLOR: #ff0000; FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 18px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px; MARGIN-TOP: 4px} .footnote {BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 1px; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 30px; LINE-HEIGHT: 13px} TH {BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; COLOR: #000000; FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; LINEHEIGHT: 14px} TD {BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; COLOR: #000000; FONT-FAMILY: Arial, Helvetica; FONT-SIZE: 12px; LINE-HEIGHT: 14px} TD.black {BACKGROUND-COLOR: #000062} TD.white {BACKGROUND-COLOR: #FFFFFF} TD.gray {BACKGROUND-COLOR: #F0F0F0} TH.box {BACKGROUND-COLOR: #000062; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; COLOR: #ffffff; FONT-FAMILY: Verdana, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: bold; LINE-HEIGHT: 14px} TABLE.list {MARGIN-LEFT: 0px; MARGIN-RIGHT: 0px} TH.list {BACKGROUND-COLOR: #c0c0c0; BORDER-BOTTOM-COLOR: #808080; BORDER-LEFTCOLOR: #808080; BORDER-RIGHT-COLOR: #808080; BORDER-TOP: #808080 1px solid; COLOR: #000000; PADDING-BOTTOM: 3px; PADDING-TOP: 3px} TD.glacier {BACKGROUND-COLOR: #000062; COLOR: #ffffff; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px} .tablehead { BACKGROUND-COLOR: #000062; COLOR: #ffffff; FONT-FAMILY: Verdana,Arial; FONT-WEIGHT: bold} .tablecolor1 {background-color: #FFFFFF } .tablecolor2 {background-color: #CCCCFF } .detailcolor1 {background-color: #CCCCFF } .detailcolor2 {BACKGROUND-COLOR: #ffffff} .detailhead {background-color: #000062; color: #FFFFFF; font-family: Verdana, Arial; font-weight: bold } .buttonbackground {BACKGROUND-COLOR: #00062} .minibutton {FONT-SIZE: 10px; font-familiy: Verdana,Arial} #clock {COLOR: white; FLOAT: right; FONT-FAMILY: Verdana; FONT-SIZE: 12px; FONTWEIGHT: bolder; POSITION: relative; TOP: 40px} #divLoadCont {BACKGROUND-COLOR: #ffffff; BACKGROUND-POSITION: center 50%; FONTFAMILY: arial, helvetica; FONT-SIZE: 10px; TEXT-ALIGN: center; Z-INDEX: 255} .Meldung {FONT-FAMILY: Verdana, Arial, helvetica; FONT-SIZE: 20px; FONT-WEIGHT: bold} Beschreibung der wichtigsten Formatvorlagen: Diese Übersicht zeigt Ihnen die am meisten verwendeten Formatvorlagen des Demo-Designs. Sie können diese jederzeit in der Stylesheet-Datei überarbeiten, oder direkt in den HTMLSeiten neu definieren, um dem Shop ein anderes Aussehen zu verpassen. P (Absatzmarke) Definiert das Aussehen der textuellen Ausgaben des Shops, welche mit ‚ <p>Hier steht der Text</p>’ formatiert wurden. <p>Normaler Text</p> .NormalK (Klasse) Aussehen wie <p>, jedoch nur 10px gross. <p class=“normalK“>Kleiner Text</p> .Preis (Klasse) Format für Artikelpreise. <p class=“preis“>ATS 199,--</p> H1 – H6 (Überschriftsebenen) Beschreibt das Aussehen von Überschriften der Ebenen 1-6. <h1>Überschrift</h1> .Ubersch4ro (Klasse) Wie Formatvorlage Überschrift 4, jedoch in rot. <p class=“ubersch4ro“>Achtung</p> Sämtliche <TH>, <TD>, ... Formate Definieren das grundsätzliche Erscheinungsbild von Tabellen. .tablehead (Klasse) Format für die Kopfzeile einer Tabelle. <td class=“tablehead“>Preis</td> .tablecolor1 und tablecolor2 (Klasse) Definieren die zwei Hintergrundfarben der Ergbnistabellen in den Gruppen bzw. Suchlisten. <td class=“tablecolor2“>Star Wars Episode 1</td> .detailhead (Klasse) Format für die Kopfzeile in der Detailansicht eines Artikels. <td class=“detailhead“>Payback</td> Offline-Programme Obwohl die Admin-Pages – die Online-Administration des WyRu Online-Shops – weiterentwickelt ist, kann es manchmal interessant sein, die Daten (Konfiguration, Artikel) für den Shop ohne Internetverbindung zu entwickeln. Offline-Programme arbeiten immer auf MS Access-Datenbanken. Sollte Ihr Shop mit MS Access-Datenbanken arbeiten, so können die offline erarbeiteten Dateien per FTP auf den Server übertragen werden. Ansonsten müssten Änderungen in den verwendeten Datenbankserver importiert werden. Sämtliche Offline-Programme sind im Quellcode im Shop enthalten und können damit angepasst werden. Wir verwenden für die Weiterentwicklung der Tools MS Visual Basic 6.0, derzeit mit Service Pack 3. Derzeit sind folgende Offline-Programme verfügbar. Der Artikel-Manager itemmgr.exe Mit diesem Programm können die Artikeldaten in der itemdata.mdb bearbeitet werden. Die Artikel können in die vorhandenen Gruppen eingetragen werden. Außerdem können verwandte Artikel ausgewählt werden. Sollten Sie die items-Tabelle der itemdata.mdb Datenbank erweitert haben, so können Sie im Verzeichnis des Programmes eine itemdata.inf erzeugen, die folgendes Format hat feldname1=Bezeichnung1 feldname2=Bezeichnung2 ... feldname ist der Name des Feldes in der items-Tabelle. Bezeichnung ist der Text, der vom Artikel-Manager dafür angezeigt werden soll. Der Gruppen-Manager groupmgr.exe Mit diesem Programm können Sie die Gruppen in der itemdata.mdb in einem hierarchischen Baum bearbeiten. Beachten Sie, dass der Gruppen-Manager Gruppen in beliebiger Tiefe stufen kann. Das Layout Ihres Shops kann jedoch nur eine bestimmte Anzahl von Gliederungsstufen darstellen. Wenn Sie Gruppen mit dem Offline-Tool löschen, müssen zuerst die untenliegenden Gruppen gelöscht werden, da ansonsten diese Gruppe unverknüpft in der Datenbank zurückbleiben und dann mit dem Gruppen-Manager nicht mehr bearbeitet werden können. Der Konfigurations-Manager configmgr.exe Das Programm stellt einen Großteil der Konfigurationsparameter aus der Datei global.asa in einer bequemen Oberfläche dar. Die daraus entstehende Datei global.asa muß danach per FTP auf den Server übertragen werden. Es empfiehlt sich vor der ersten Benutzung dieses Programmes die am Server liegende global.asa in das Verzeichnis des Konfigurations-Managers zu kopieren.