osCommerce 2.2 bietet von Hause aus leider keine Möglichkeiten, Inhalte außerhalb der Produktseiten komfortabel zu verwalten. Gerade teste ich eine Contribution, die Elemente eines Content Management Systems in OSCommerce integriert. Hier wird auf diese Contribution verwiesen und ein kleiner Workaround zur einfachen Erstellung und Verwaltung von Kategoriebeschreibungen vorgestellt.

Motivation zur Nutzung eines CMS

Hier beschränke ich mich auf den konkreten Anwendungsfall. Ein „nackter“ OSCommerce-Webshop bietet auf der Seite der Kategorie nur eines: eine Auflistung der Produkte eben dieser Kategorie nebst Bildvorschau und Preis. Für Suchmaschinen sind sicherlich die Produktnamen interessant, optimal wäre an dieser Stelle ein einführender Text, der unsere Keywords für die Produktgruppe aufnehmen kann.

OSCommerce ist hier „nicht besonders“ sauber strukturiert, wird doch die Produktübersicht mitten in der index.php generiert. Ohne zu viel am System zu verändern, müsste die Kategorie hier jeweils abgefragt und der entsprechende Text in den Quelltext eingepflegt werden. Meine Lösung benötigt nach der Installtion der CMS Contribution ca. 5 Codezeilen.

osCMS v0.1.1

Eben diese Contribution müssen wir installieren. Zu finden ist sie unter den Contributions auf oscommerce.com. Aus der Beschreibung des Autors:

This contribution is the very simple but powerful osCommerce Content Management System. It allows to define and modify text on osCommerce shop pages to end-user .
For the first time it can do very simple content management but a lot of userfull features can be added in the next versions.

Gefühlte 10 Minuten sollte man für die Installation übrig haben. Wer es auf Adminseite deutsch mag, muss noch etwas an den Sprachdateien basteln, sollte aber kein Problem darstellen.
Also Vorgehen wie üblich: Backup, Installationshinweise lesen, loslegen, [ Backup einspielen, optional ;) ].
Hat alles geklappt, haben wir in der Admin-Oberfläche nunmehr einen Unterpunkt, wo wir Textbausteine anlegen und benennen können.

Textbausteinen anlegen und ausgeben

Der Menupunkt „Content management“ ist wie die Artikelverwaltung von OSCommerce aufgebaut. Das Benutzen sollte somit kein Problem darstellen. Wir legen einen neuen Textbaustein mit „Einfügen“ an, benennen diesen (z.B. „CMSTest1“) und fügen Inhalte ein (z.B. „Ein kurzer Test zur Nutzung von osCMS v0.1.1 in OSC!“). HTML Elemente sind möglich, einen Editor bleibt der Autor schuldig, wer mag kann die Contribution natürlich entsprechend erweitern.

Wie geben wir nun diesen Datensatz aus?
Folgende Codezeile in die entsprechenden PHP-Datei einfügen, und schon wird der eben angelegte Text ausgegeben:

<?php 
   echo tep_get_cms_content('CMSTest1');     
?>

Mehr brauchen wir in diesem Kontext nicht zu wissen. Nun geht es daran, die Shop-Kategorien zu beschreiben.

Kategoriebeschreibung mit 5 Zeilen

Schauen wir uns die index.php genauer an. Nach folgendem Code Ausschau halten:

   <php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?>

Dieser gibt die Produktliste der Kategorie aus. Davor wollen wir unsere Kategoriebeschreibungen platzieren. Also einen entsprechenden Container schaffen (bei mir ist es einfach eine Tabellenzeile nebst TD, die ich nach dem Heading der Seite eingefügt habe) und folgendes PHP-Snipet darin einbetten:

 <?php
            /*
            Category Description
            */
            if (isset($cPath))
	   {
                 // start of the cms container
                 echo '<div class="cat_desc">';
                 // now build the caption for the CMS textblock
                 $strCatDescCMSCaption = 'CMSCatDesc' . $cPath;
                 // echo the cms cat block
                 echo tep_get_cms_content($strCatDescCMSCaption);
                 // close container
                 echo '</div>';
            }
            ?>

Was macht das Snipet nun? Es baut aus der numerischen $cPath Variablen der Kategorie einen Namen für den CMS-Block zusammen und gibt diesen schließlich aus.

Wir benötigen jetzt natürlich noch die entsprechenden Textblöcke. Diese wie weiter oben beschrieben anlegen und entsprechen benennen: als Präfix habe ich „CMSCatDesc“ gewählt … ein korrekter Name für eine Kategorie mir dem cPath 44 wäre also „CMSCatDesc44“. Hier die Beschreibung der Kategorie vornehmen, und schon sollte alles wie gewünscht angezeigt werden.

Existiert kein entsprechend benannter Textbaustein im CMS, wird nichts ausgegeben. Den cPath der Kategorie kann man bspw. der Adresszeile des Browsers entnehmen.

Einschränkungen

  • Mehrsprachigkeit ist nicht eingebaut
  • Unterkategorien nicht beachtet Update: Verschachtelung von Kategorien ist kein Problem. Hier wird, zumindest bei meiner OSCommerce Installation, der cPath in der Form „56_57“ erzeugt. Diese Zeichenkette wieder an „CMSCatDesc“ anhängen, und auch eine Unterkategorie kann beschrieben werden.
Diesen Artikel habe ich bereits in ähnlicher Form im Juli 2007 in meinem Meta-Blog veröffentlicht. Durch die thematische Neuausrichtung zieht er nun auf ShopSeo.de um. Einige Textpassagen wurden angepasst.

Eine Antwort zu “osCommerce 2.2 mit CMS Funktionen”

  1. Michael Freitag sagt:

    Ich empfehl http://www.xtc-modified.org!
    Ist völlig kostenlos…

Eine Antwort schreiben