URL dieses Artikels:

zu Ausgabe: 06.2003
Auf die Plätze, fertig, Shop!
OsCommerce installieren und konfigurieren
von Christian Engelke
OsCommerce ist ein Open Source Shop-System, welches mit teueren professionellen Onlineshops ohne Probleme mithalten kann. Der modulare Aufbau ermöglicht es, den Shop jederzeit zu erweitern. Dieser Artikel soll Ihnen einen Einblick in den Funktionsumfang sowie die Installation und Anpassungsmöglichkeiten von OsCommerce geben und zugleich oberflächlich auf die rechtlichen Anforderungen eingehen.

Kurzvorstellung OsCommerce
OsCommerce ist eine kostenlose eCommerce-Lösung, die weltweit ständig durch begeisterte Anwender weiterentwickelt wird. Auch im deutschsprachigen Raum ist die Entwicklung ziemlich aktiv. Der Shop wurde unter der GNU General Public License von Harald Ponce de Leon freigegeben. Eingesetzt wird der Shop von mehr als 1.000 Beteibern auf der ganzen Welt.

Einen Demoshop der aktuellen Version osCommerce 2.2 Milestone 1 finden Sie unter: www.oscommerce.com/osCommerce22ms1. Weitere, zum Teil stark modifizierte Beispielshops, möchte ich am Ende des Artikels vorstellen, um Ihnen einen Überblick von dem zu geben, was alles machbar ist, wenn selbst Individualisierungen vorgenommen werden.

OsCommerce ist für all diejenigen konzipiert, die eine professionelle Shop-Lösung suchen, auf der einen Seite keine fünfstelligen Beträge investieren möchten und auf der anderen Seite keine Zeit und Mühe scheuen, selbst Hand anzulegen, um das System direkt an die eigenen Bedürfnisse anzupassen.

Kleinere Änderungen am Shop-System, speziell am Design, lassen sich ohne große Programmierkenntnisse durchführen. Möchten Sie jedoch Änderungen an der Datenbank vornehmen, dann sollten Sie sich schon etwas besser mit PHP und MySQL auskennen.

Besonders bei Online-Shops steht nicht nur die Funktionalität, sondern auch die Sicherheit der Kundendaten im Vordergrund. Daher sollten umfangreichere Änderungen gut geplant sein und ggf. mit Zuhilfenahme von Spezialisten durchgeführt werden.

Systemvoraussetzungen
Für den Einsatz von OsCommerce wird ein Apache Webserver o. ä. mit installierter Skriptsprache PHP 4.* und eine Anbindung zu einer MySQL-Datenbank vorausgesetzt. Das System kann auf Linux, Solaris, BSD, Mac OS X oder Microsoft Windows eingesetzt werden.

Während der Entwicklungsphase ist es angebracht, das Shop-System lokal unter einen Apache Webserver laufen zu lassen. So ersparen Sie sich ständiges Hochladen der Seiten und können kostbare Zeit bei der Suche von kleinen Fehlern einsparen.

Für den Einsatz unter Windows oder für Linux finden Sie einen vorkonfigurierten Apache Websever mit PHP und MySQL auf www.apachefriends.org/ zum Download. Diesen möchte ich Ihnen gerne empfehlen. Schließlich kann dieser direkt nach dem Entpacken ohne Probleme eingesetzt werden.

Was bietet OsCommerce
OsCommerce bietet eine Vielzahl von Funktionen, von denen ich Ihnen gerne einige stichpunktartig vorstellen möchte:
  • Warenkorb für angemeldete und nicht angemeldete Benutzer
  • Kundenkonten
  • Suchfunktion für Produkte oder Hersteller
  • Automatische eMail-Benachrichtigungen
  • Kunden können Produkte bewerten
  • Kundenfreundlicher und übersichtlicher Bestellvorgang
  • Sichere Datenübertragung durch Einsatz von SSL
  • Liste der meistverkauften Produkte
  • Produkte, die auch andere Kunden gekauft haben
  • Multilingual lauffähig
In der Administration finden Sie unter anderem folgende interessante Funktionen:
  • hinzufügen, editieren und löschen von Kategorien, Produkten und Kunden
  • duplizieren und verlinken von Produkten
  • Statistiken über Produkte und Kunden
  • Unterstützung verschiedener Steuerzonen mit individuellen Steuerklassen und -Sätzen
  • Konfigurationen werden größtenteils in der Datenbank gespeichert.
  • Shop und Administration können auf verschiedenen Servern laufen.
  • Einrichtung von Zahlungs- und Versandmodulen
  • komplette Bestellübersichten
  • Datensicherung
  • Bannerverwaltung
  • Newsletterversand
  • Einbau von weiteren Sprachen

Installation
Die Installation von OsCommerce ist kinderleicht. Nachdem Sie aus der heruntergeladenen ZIP- oder TAR-Datei die Ordner Admin und Catalog in das htdocs-Verzeichnis Ihres Webservers kopiert haben, wählen Sie in Ihrem Webbrowser den Ordner /admin/install/ aus. Im Laufe der Installation wählen Sie die Pfade für den Admin- und Catalog-Ordner, in welchem zum einen, wie der Name schon sagt, das Backend für die Administration und zum anderen das Frontend für die Kunden liegt.

Nach der Installation wechseln Sie mit Ihrem Webbrowser in den Ordner /catalog/default.php um zu sehen, dass der Shop bereits funktioniert. Dass die Entwickler default.php als Index Seite gewählt haben, finde ich etwas umständlich, weshalb ich im folgenden erläutern möchte, wie man die default.php in die index.php umändert. Da das blose Umbenennen der Datei Fehler beim Aufruf des Shops verursachen würde, befolgen Sie bitte die folgenden Schritte.

Schritt 1: catalog/default.php umbenennen in index.php. Schritt 2: catalog/includes/languages/german/default.php umbenennen in index.php. Sofern Sie weitere Sprachen verwenden, müssen auch die entsprechenden default.php dieser Sprachen umbenannt werden. Schritt 3: Öffnen Sie die Datei /catalog/includes/application_top.php. Ja nach Version ändern Sie die Zeile 64 oder die entsprechende Zeile

define('FILENAME_DEFAULT', 'default.php');

in

define('FILENAME_DEFAULT', 'index.php');

Bitte beachten Sie, dass ich im weiteren Verlauf des Artikels jedoch default.php anstelle von index.php verwenden werde.

Um den Administrationsbereich gegen unerlaubte Zugriffe zu schützen, können Sie eine .htaccess-Datei erstellen, in der Sie ein Login und ein Passwort definieren, damit nur Sie den Zugriff auf die Administration haben. Andernfalls könnte jeder beliebige Surfer, wenn dieser Ihren Ordner errät, großen Schaden anrichten bzw. vertrauliche Daten kopieren und/oder löschen. Eine interessante Hilfestellung zum Erstellen von .htaccess-Dateien finden Sie unter anderem hier: www.homepageforum.de/knowhow/htaccess.shtml.

Multilingualer Aufbau
Was die Multilingualität angeht, ist OsCommerce folgendermaßen aufgebaut: default.php (die Startseite) wird mit deutscher Sprache geladen, sofern die Browser-Language German ist. Folglich benötigt OsCommerce folgende Datei in welchen die Textelemente für German definiert sind: /catalog/includes/languages/german/default.php (enthält die deutschen Textelemente der Startseite). Entsprechend finden Sie für jede Datei, die an den Benutzer etwas ausgibt im Language-Ordner eine entsprechende zugehörige Datei, welche die Sprachdefinitionen enthält. Listing 1 zeigt ein Codebeispiel für diedeutsche Sprache aus der Datei catalog/includes/languages/german/default.php.

Listing 1

<?php
/*
$Id: default.php,v 1.22 2003/02/16 00:42:03 harley_vb Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/

define('TEXT_MAIN', 'Dies ist die Standardinstallation des osCommerce Projektes.
Alle dargestellten Produkte dienen zur Demonstration der Funktionsweise.
<b>Wenn Sie Produkte bestellen, so werden diese weder ausgeliefert, noch
in Rechnung gestellt.</b>Alle Informationen zu den verschiedenen Produkten
sind erfunden und daher kann kein Anspruch daraus abgeleitet werden.<br>...');
define('TABLE_HEADING_NEW_PRODUCTS', 'Neue Produkte im %s');
define('TABLE_HEADING_UPCOMING_PRODUCTS', 'Wann ist was verfügbar');
define('TABLE_HEADING_DATE_EXPECTED', 'Datum');

if ( ($category_depth == 'products') || ($HTTP_GET_VARS['manufacturers_id']) ) {
define('HEADING_TITLE', 'Unser Angebot');
define('TABLE_HEADING_IMAGE', '');
define('TABLE_HEADING_MODEL', 'Artikel-Nr.');
define('TABLE_HEADING_PRODUCTS', 'Produkte');
define('TABLE_HEADING_MANUFACTURER', 'Hersteller');
define('TABLE_HEADING_QUANTITY', 'Anzahl');
define('TABLE_HEADING_PRICE', 'Preis');
define('TABLE_HEADING_WEIGHT', 'Gewicht');
define('TABLE_HEADING_BUY_NOW', 'Bestellen');
define('TEXT_NO_PRODUCTS', 'Es gibt keine Produkte in dieser Kategorie.');
define('TEXT_NO_PRODUCTS2', 'Es gibt kein Produkt, das von diesem Hersteller stammt.');
define('TEXT_NUMBER_OF_PRODUCTS', 'Artikel: ');
define('TEXT_SHOW', '<b>Darstellen:</b>');
define('TEXT_BUY', '1 x \'');
define('TEXT_NOW', '\' bestellen!');
define('TEXT_ALL', 'Alle');
} elseif ($category_depth == 'top') {
define('HEADING_TITLE', 'Unser Angebot');
} elseif ($category_depth == 'nested') {
define('HEADING_TITLE', 'Kategorien');
}
?>

Bei Bildern wie Buttons, die Textelemente enthalten wie z.B. der Login-Button oder der Button zum Registrieren, verhält sich das ganze ähnlich. Der Ordner für deutschsprachige Buttons: /catalog/includes/languages/german/images/buttons. Folglich liegt der Ordner für englischsprachige Buttons hier: /catalog/includes/languages/english/images/buttons. Bitte beachten Sie auch hier, dass sofern Sie ein Bild hinzufügen, Sie dieses auch für alle weiteren von Ihnen verwendeten Sprachen hinzufügen, da der Benutzer ansonsten beim Aufruf einer anderssprachigen Version Ihrer Webseite dieses Bild nicht sieht.

Individuelle Anpassungen
Sofern Sie den Shop nicht nur zu Testzwecken installieren möchten, macht es auch Sinn, diverse Individualisierungen vorzunehmen: zum einen die Anpassung des Layouts, zum anderen die Modifikationen, welche die deutsche Gesetzgebung vorschreibt.

Was das Layout angeht, so möchte ich Ihnen die wichtigsten Dateien vorstellen:
  • /catalog/stylesheet.css
  • /catalog/includes/header.php
  • /catalog/includes/footer.php
Wenn Sie die Dateien header.php und footer.php mit einem WYSIWYG Editor wie z.B. Macromedia Dreamweaver MX öffnen, werden Sie feststellen, dass die vermuteten Textelemente wie z.B. Warenkorb, Mein Konto und Kasse aufgrund der Mehrsprachigkeit gar nicht in der Header- und Footer-Datei liegen, sondern bei den generellen Sprachdefinitionen (catalog/includes/languages/german.php, english.php, espanol.php). Hier werden neben dem Titel der Seite auch andere Begriffe definiert, welche im Header und Footer bzw. global verwendet werden. Listing 2 zeigt einen Auszug aus der catalog/includes/languages/german.php. In Listing 3 sehen Sie das gleiche in der englischen Sprachversion in catalog/includes/languages/english.php.

Listing 2

// page title
define('TITLE', 'osCommerce');

// header text in includes/header.php
define('HEADER_TITLE_CREATE_ACCOUNT', 'Neues Konto');
define('HEADER_TITLE_MY_ACCOUNT', 'Ihr Konto');
define('HEADER_TITLE_CART_CONTENTS', 'Warenkorb');
define('HEADER_TITLE_CHECKOUT', 'Kasse');
define('HEADER_TITLE_TOP', 'Startseite');
define('HEADER_TITLE_CATALOG', 'Katalog');
define('HEADER_TITLE_LOGOFF', 'Abmelden');
define('HEADER_TITLE_LOGIN', 'Anmelden');

Listing 3

// page title
define('TITLE', 'osCommerce');

// header text in includes/header.php
define('HEADER_TITLE_CREATE_ACCOUNT', 'Create an Account');
define('HEADER_TITLE_MY_ACCOUNT', 'My Account');
define('HEADER_TITLE_CART_CONTENTS', 'Cart Contents');
define('HEADER_TITLE_CHECKOUT', 'Checkout');
define('HEADER_TITLE_TOP', 'Top');
define('HEADER_TITLE_CATALOG', 'Catalog');
define('HEADER_TITLE_LOGOFF', 'Log Off');
define('HEADER_TITLE_LOGIN', 'Log In');

Sollten Ihre Kunden eine andere Browsersprachee als Deutsch haben, z.B. Englisch, dann liefert der Shop Ihren Kunden auch englischsprachige Seiten. Sollten Sie also von vornherein beabsichtigen, nur deutsche Kunden zu bedienen, dann würde es sich anbieten, im Admin-Bereich bei den Sprachen alle außer Deutsch zu löschen, so kann der Shop keine anderssprachigen Seiten mehr anbieten.

Individuelle Weiterentwicklung
Um selbst an OsCommerce individuelle Anpassungen vornehmen zu können, ist es notwendig, eine ungefähre Vorstellung vom Aufbau des Systems zu bekommen. Nachdem man sich einige Zeit mit der Struktur der Datenbank und dem Aufbau der Dateien beschäftigt hat, sollte es auch unerfahreneren Usern möglich sein, Weiterentwicklungen vorzunehmen. Das wichtigste ist, dass vor jeder Modifikation ein Backup der entsprechenden Dateien gemacht wird, um so den Urzustand wiederherstellen zu können. Anfangs habe ich auch nicht geglaubt, dass das notwendig ist.

Rechtliche Anforderungen
Was den Datenschutz angeht, so gibt es wohl kaum eine Software, die solch strengen Anforderungen erfüllen kann. Grundsätzlich kann man sagen, dass OsCommerce selbst keine Sicherheitslücken aufweist. Das mag daran liegen, dass eine recht große Entwicklergemeinde vorhanden ist und Sicherheitslücken auf diese Weise ziemlich schnell entdeckt und anschließend beseitigt werden können. Admin- und Catalog-Modul können im Übrigen auch mit SSL-Verschlüsselung laufen. Mit wenigen Modifikationen könnte man den Shop so gestalten, dass extrem vertrauliche Kundendaten nach dem Versand der bestellten Ware wieder aus der Kundentabelle gelöscht werden.

Obgleich der Shop auch noch mit 30.000 Produkten ohne Probleme läuft, würde sich für größere Shops der Betrieb in den eigenen Geschäftsräumen an einer Breitbandinternetverbindung lohnen, da man so den Server je nach Kundenzahl frei skalieren kann und ggf. die Anbindung an eine Warenwirtschaft besser vollziehen kann.

Fernabsatzgesetz
Betreiber von Online-Shops sind seit dem 1. Januar 2003 verpflichtet, auf ihren Webseiten ausdrücklich darauf hinzuweisen, dass alle Preisangaben sowohl die Mehrwertsteuer als auch alle anderen Preisbestandteile enthalten. Ebenso muss angegeben werden, ob weitere Zusatzkosten, z.B. für Lieferung und Versand, anfallen. Alle Angaben müssen nach der neuen Regelung deutlich wahrnehmbar angezeigt werden.

Daher gibt es entweder die Möglichkeit, diese Informationen im Footer der Seite unterzubringen (catalog/includes/footer.php) oder alternativ überall dort, wo Produkte angezeigt werden. Hierzu muss eine Änderung in den Dateien catalog/product_info.php und catalog/default.php vorgenommen werden.

Die einfachste Variante ist das Anzeigen eines kleinen Texts in der Footer-Datei, z.B. Alle Preise inkl. 16% gesetzl. MwSt. zzgl. Porto und Versandkosten. In catalog/includes/languages/german.php suchen Sie die Zeile:

define('FOOTER_TEXT_REQUESTS_SINCE', 'Zugriffe seit');

und fügen Sie darunter folgende Zeile ein:

define('FOOTER_INCLUDE_TAX' ,'Alle Preise inkl. 16% gesetzl. MwSt. zzgl. Porto und Versandkosten');

In catalog/includes/footer.php suchen Sie nach der Zeile:

echo FOOTER_TEXT_BODY;

fügen Sie davor folgende Zeile ein:

echo FOOTER_INCLUDE_TAX, '<br><br>';

Oberste Priorität sollte auch die Erstellung des Impressums bzw. einer Anbieterkennzeichnung haben, da alle gewerblichen Webseiten - und ein Onlineshop gehört nun einmal dazu - seit 2002 verpflichtet sind, ein Impressum zu führen. Hier kann man eine ganze Menge falsch machen, da der Gesetzgeber nicht nur dem Inhalt, sondern auch der Form gewisse Anforderungen zuspricht. Hier finden Sie einen kostenlosen Impressumsgenerator: www.digi-info.de/de/netlaw/webimpressum/index.php.

Einsatz von Add-ons
Im Gegensatz zu den meisten anderen Shop-Systemen verwendet OsCommerce Module, um Zahlungs- und Versandweisen zu integrieren. Das hat den Vorteil, dass neue Versandmodule und Zahlungsmodule durch einfaches Hineinkopieren in die entsprechenden Ordner und Aktivierung im Admin-Bereich integriert werden können. Im Übrigen sind weltweit viele OsCommerce-Anwender mit der Entwicklung individueller Module beschäftigt. So lassen sich zum Beispiel auch Versandmodule für kleinere regional agierende Logistikpartner und Zahlungsmodule für ausländische Kreditkartenprovider finden.

Sollten Sie einmal ein Modul nicht finden, so ist es am günstigsten, ein Modul zu suchen, das Ihre Anforderungen am nächsten erfüllt und dieses dann individuell anzupassen. Bei kleineren Anpassungen werden Ihnen sicherlich auch Anwender aus den am Ende des Artikels genannten Foren weiterhelfen. Andernfalls finden Sie hier auch Spezialisten, die Ihnen mit Ihren Problemen gerne weiterhelfen.

Wie bei den Buttons und Textelementen sind auch für die Module multilinguale Sprachdefinitionen in den entsprechenden Ordnern für die z.B. verschiedenen Zahlungs- und Versandmodule vorhanden: /catalog/includes/languages/german/modules. Sowohl Module, welche zumeist ohne großen Installationsaufwand integriert werden können, als auch Add-ons, welche von Hand in den Shop eingebaut werden, können auf der offiziellen OsCommerce-Webseite [www.oscommerce.com/community/contributions] heruntergeladen werden. Hier werden auch einige Addons von deutschen Autoren angeboten.

Im professionellen Einsatz sollte man je nach Branche über die Integration folgender Add-ons nachdenken:
  • Gutscheinmodul: Kunden können Gutscheine einlösen.
  • Affiliate Program: Partnerprogramm mit Provisionsauszahlung
  • Must Agree to Terms: Kunde muss beim Bestellvorgang die AGB akzeptieren.
  • Who's Online: Zeigt die Anzahl der Besucher und eingeloggten Kunden auf der Seite an
  • Stock Display: In der Product_Info.php wird der Lagerbestand angezeigt.
  • Family Products: Produktfamilien anlegen (ähnlich wie bei Amazon Wir empfehlen: ...)
  • Festured Products: Einzelne Produkte können promoted werden.
Ebenfalls sollten Sie sich die wichtigsten Module näher ansehen:
  • Banktransfer: Integration der Zahlungsweise Banklastschrift inkl. Überprüfung der Kontodaten.
  • Deutsche Post: Versandkostentabelle der Deutschen Post
  • COD: Berechnung der Nachnahmegebühren
  • Pickup-Module: Kunde holt die Ware selbst ab.
  • Paypal: Zahlung per Kreditkarte über Paypal
Wer sich jetzt entschließen sollte, OsCommerce professionell einzusetzen, um größere Projekte zu betreiben, wird bemerkt haben, dass OsCommerce keinerlei Schnittstellen für den Im- und Export von Daten aufweist. Demzufolge können auch keine Kunden- oder Bestelldaten exportiert werden. Um selbst Schnittstellen zu entwickeln, muss man erst einmal herausfinden, welche Daten in welchen Tabellen gespeichert sind. Ich möchte Ihnen ein Beispiel liefern, wie man die Kundendaten bzw. nach einem ähnlichen Schema die Produktdaten aus den Tabellen abfragen kann.
Ich möchte explizit darauf hinweisen, dass die Kundendaten sich nicht nur über die beiden genannten Tabellen erstrecken, sondern auch Einträge in anderen Tabellen haben. Local.php stellt die Verbindung zur Datenbank her (siehe Listing 4). Listing 5 zeigt die Abfrage der Kundendaten in Kundenabfrage.php. Ebenso interessant könnte die Abfrage der Produktdaten sein, die Sie in Listing 6 in Produktabfrage.php sehen.

Listing 4

<?php
# Type="MYSQL"
$hostname_local = "localhost";
$database_local = "lmdb2";
$username_local = "root";
$password_local = "";
$local = mysql_pconnect($hostname_local, $username_local, $password_local) or die(mysql_error());
?>

Listing 5

<?php require_once('local.php'); ?>
<?php
mysql_select_db($database_local, $local);
$query_Kundenabfrage = "SELECT customers.customers_id, customers.customers_gender, customers.customers_firstname, customers.customers_lastname, customers.customers_email_address, customers.customers_telephone, customers.customers_fax, customers_info.customers_info_date_account_created FROM customers INNER JOIN customers_info ON customers.customers_id = customers_info.customers_info_id";
$Kundenabfrage = mysql_query($query_Kundenabfrage, $local) or die(mysql_error());
$row_Kundenabfrage = mysql_fetch_assoc($Kundenabfrage);
$totalRows_Kundenabfrage = mysql_num_rows($Kundenabfrage);
?>
<html>
<head>
<title>Abfrage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<table border="1">
<tr>
<td>Kunden Id</td>
<td>Geschlecht</td>
<td>Vorname</td>
<td>Nachname</td>
<td>Emailadresse</td>
<td>Tel</td>
<td>Fax</td>
<td>Angemeldet am</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Kundenabfrage['customers_id']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_gender']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_firstname']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_lastname']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_email_address']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_telephone']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_fax']; ?></td>
<td><?php echo $row_Kundenabfrage['customers_info_date_account_created']; ?></td>
</tr>
<?php } while ($row_Kundenabfrage = mysql_fetch_assoc($Kundenabfrage)); ?>
</table>


</body>
</html>
<?php
mysql_free_result($Kundenabfrage);
?>

Listing 6

<?php require_once('local.php'); ?>
<?php
mysql_select_db($database_local, $local);
$query_Produktdaten = "SELECT products.products_id, products.products_model, products.products_price, products.products_weight, products.products_ordered, products_description.products_name, products_description.products_description FROM products INNER JOIN products_description ON products.products_id = products_description.products_id";
$Produktdaten = mysql_query($query_Produktdaten, $local) or die(mysql_error());
$row_Produktdaten = mysql_fetch_assoc($Produktdaten);
$totalRows_Produktdaten = mysql_num_rows($Produktdaten);
?>
<html>
<head>
<title>Produktabfrage</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<table border="1">
<tr>
<td>Produkt ID</td>
<td>Artikel Nr.</td>
<td>Netto Preis</td>
<td>Gewicht</td>
<td>Bereits gekauft</td>
<td>Produktname</td>
<td>Produktbeschreibung</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Produktdaten['products_id']; ?></td>
<td><?php echo $row_Produktdaten['products_model']; ?></td>
<td><?php echo $row_Produktdaten['products_price']; ?></td>
<td><?php echo $row_Produktdaten['products_weight']; ?></td>
<td><?php echo $row_Produktdaten['products_ordered']; ?></td>
<td><?php echo $row_Produktdaten['products_name']; ?></td>
<td><?php echo $row_Produktdaten['products_description']; ?></td>
</tr>
<?php } while ($row_Produktdaten = mysql_fetch_assoc($Produktdaten)); ?>
</table>

</body>
</html>
<?php
mysql_free_result($Produktdaten);
?>

Bei den Abfragen handelt es sich lediglich um Beispiele. In der Praxis ist es möglich, eine weitaus höhere Zahl von Daten abzufragen bzw. die abgefragten Daten in anderen Formaten wie z.B. CSV auszugeben. Abschließend möchte ich darauf hinweisen, dass viele der auf OsCommerce.com angebotenen Add-ons von Haus aus keine deutschen Sprachdefinitionen haben. Da das Skript die deutsche Sprachdefinition nicht findet, weil keine vorhanden ist, kann man zu Testzwecken auch einfach die Language-Datei aus /catalog/includes/languages/english/LANGUAGEDATEI nach /catalog/includes/languages/german/LANGUAGEDATEI kopieren. Jetzt läuft das Skript mit englischen Sprachdefinitionen. Dieses könnte man nun eigenständig übersetzen und hätte somit auch eine deutsche Sprachversion.

Zusammenfassung
Mit dem Shop-System OsCommerce sind Sie immer auf der richtigen Seite, wenn Sie ein professionelles, kostenloses System suchen. Sie haben jederzeit die Möglichkeit, eigene Weiterentwicklungen vorzunehmen, da Sie in den passenden Foren Spezialisten finden, die Ihnen gerne weiterhelfen. Ich möchte Ihnen OsCommerce empfehlen und würde mich freuen, wenn auch Sie sich für diese Lösung begeistern können.

Links Links von stark modifizierten Shops:

© 2004 Software & Support Verlag GmbH. Vervielfältigung nur mit Genehmigung des Verlags. Fragen?