Home Sitemap Impressum
SEO Welten - Webcoding, Editoren, Scripte und Anwendungen
SEO Welten

 

 
AGB
Buchempfehlungen

Erstellung eines Menüs

Ein Beispiel für kleinere, auf PHP basierende Shops

Um aus einen einfachen Script einen kleinen Shop zu basteln, bietet PHP die unterschiedlichsten Möglichkeiten. Am einfachsten wäre es sicherlich, dass Script wie es ist in einer beliebigen Anzahl von HTML-Seiten einzufügen und jeweils eine passende Rubrik und ein passendes Keyword vorzuwählen. Bei einer späteren Überarbeitung müssten dann jedoch alle Seiten überarbeitet werden und der Aufwand wäre entsprechend hoch. Eine weitere Möglichkeit bestünde darin, das Script nur in HTML-Seiten mit der Funktion include() einzufügen. In diesem Fall sollte der im Script vorhandene HTML-Quelltext teilweise entfernt werden. Zu entfernen wären die folgenden Abschnitte, wobei die Zeile mit dem Meta-Tag robots zu übernehmen wäre:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Ein Demo mit cURL, Cache und Zugriffskontrolle</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" type="text/css" href="demo.css">
<meta name="robots" content="<?php echo $robots; ?>"> 
</head>

<body>
</body>
</html>

Diese Vorgehensweise hätte den Nachteil, dass auch die ersten Codezeilen in jede einzelne HTML-Seite eingefügt werden müssten. Sicherlich, das Script ließe sich teilen und der obere Abschnitt einzeln includen. Einfacher wäre es hingegen den umgekehrten Weg zu gehen und den jeweilig erforderlichen HTML-Quelltext in das Script zu includen. Für kleinere Shops mit einer begrenzten Seitenzahl bietet sich noch eine weitere Möglichkeit an, die im Folgenden etwas näher beschrieben wird.

Als erstes wird ein Menü erstellt, das im Beispiel drei Rubriken erhält. Die jeweilige Rubrik wird im QueryString als Parameter übergeben und dem Parameter wird eine Ziffer als Wert zugeordnet. Die Startseite vom Shop benötigt keinen Parameter, da die passende Rubrik (SearchIndex) und ein passendes Stichwort (Keyword) für die eigentliche Startseite des Shops vorgewählt wird.

Die Links vom Menü:

<a href="shop.php">Bestseller</a>
<a href="shop.php?literatur=2">Märchen</a>
<a href="shop.php?literatur=3">Geschichte</a>
<a href="shop.php?software=1">Software</a>
<a href="shop.php?software=2">Webdesign</a>
<a href="shop.php?haushalt=1">Bettwäsche</a>
<a href="shop.php?haushalt=2">Töpfe</a>

Als zweiter Schritt wird aus dem bisherigen Listing der folgende Code-Abschnitt entfernt:

$dierubrik = "Books";     //-- Eine Rubrik eintragen, z.B. Books oder Tools
$meinthema = "Internet";  //-- Ein Suchwort, Thema, Titel oder Autor eintragen

Für den entfernten Code-Abschnitt wird über dem Head ein neuer, etwas größerer Code-Abschnitt eingefügt. Dieser Code hat die Aufgabe zu überprüfen, welche Rubrik als Parameter im QueryString beim Aufruf übergeben wurde und welchen Wert der Parameter enthält.

Beispiel: Es wurde der Link mit dem QueryString software=2 von einem Besucher betätigt, wodurch die Bedingung von elseif ($_GET["software"]) erfüllt und als wahr (true) ausgewertet wird. Da die Bedingung erfüllt wurde, wird die Datei software.php includet, in der die Titel, Descriptionen und Texte für die Rubrik Software enthalten sind. Im nächsten Schritt wird überprüft, ob der übergebene Wert einer Ziffer entspricht, für die ein passendes Keyword festgelegt wurde und es werden aus der Datei software.php die Einträge ausgewählt, die der Ziffer entsprechen.

Mit der Funktion preg_replace() werden zur Sicherheit noch alle Zeichen ausgefiltert, die keiner Ziffer entsprechen. Bis zu einer überschaubaren Seitenzahl ließen sich so noch weitere Seiten und Rubriken erstellen. Bei einer größeren Anzahl von Seiten würde es sich hingegen empfehlen, die zu den jeweiligen Seiten gehörenden Titel, Descriptionen und Texte in eine Datenbank auszulagern, wobei eine Abfrage dann mit anderen Mitteln zu lösen wäre.

Name der Dateien wurde Beispiel-Listing geändert:

<?php

//------ Die erste Rubrik -------------------------------------------------------------------------

if ($_GET["literatur"]) {

$thema  = $_GET["literatur"];
$thema  = preg_replace("/[^0-9]/", "1", $thema);

if (file_exists("literatur.php")) {include("literatur.php");}

$dierubrik = "Books";    // Die Rubrik muss einer ResponseGroup entsprechen!

	if ($thema == 2)     {$meinth = "Maerchen";
	                      $headtl = $headtle2;  $descrip = $descrip2; $seitt = $seitt2;}
	elseif ($thema == 3) {$meinth = "Geschichte";
	                      $headtl = $headtle3;  $descrip = $descrip3; $seitt = $seitt3;}
	elseif ($thema == 4) {$meinth = "Tiere";
	                      $headtl = $headtle4;  $descrip = $descrip4; $seitt = $seitt4;}
}

//------ Die zweite Rubrik, Sie können weitere Seiten und Rubriken anlegen! -----------------------


elseif($_GET["software"]) {

$thema  = $_GET["software"];
$thema  = preg_replace("/[^0-9]/", "1", $thema);

if (file_exists("software.php")) {include("software.php");}

$dierubrik = "Software"; // Die Rubrik muss einer ResponseGroup entsprechen!

	if ($thema == 1)     {$meinth = "Bildbearbeitung";
	                      $headtl = $headtle1;  $descrip = $descrip1; $seitt = $seitt1;}
	elseif ($thema == 2) {$meinth = "Webdesign";
	                      $headtl = $headtle2;  $descrip = $descrip2; $seitt = $seitt2;}
}

//------ Die dritte Rubrik, Sie können weitere Seiten und Rubriken anlegen! -----------------------


elseif ($_GET["haushalt"]) {

$thema  = $_GET["haushalt"];
$thema  = preg_replace("/[^0-9]/", "1", $thema);

if (file_exists("haushalt.php")) {include("haushalt.php");}

$dierubrik = "Kitchen";  // Die Rubrik muss einer ResponseGroup entsprechen!
                         // Zwei Suchbegriffe sind mit einem + zu verbinden!

	if ($thema == 1)     {$meinth = "Bettwaesche";
	                      $headtl = $headtle1;  $descrip = $descrip1; $seitt = $seitt1;}
	elseif ($thema == 2) {$meinth = "Teller+Tassen";
	                      $headtl = $headtle2;  $descrip = $descrip2; $seitt = $seitt2;}
	elseif ($thema == 3) {$meinth = "Toepfe";
	                      $headtl = $headtle3;  $descrip = $descrip3; $seitt = $seitt3;}
}

else {                   // Die Seite laden, mit der Sie den Shop starten!

if (file_exists("literatur.php")) {include("literatur.php");}

$dierubrik = "Books";
$meinth    = "Bestseller";
$headtl    = $headtle1;
$descrip   = $descrip1; 
$seitt     = $seitt1;
}

?>

Prinzipieller Aufbau der Datei software.php sowie der Dateien für die restlichen Rubriken:

<?php

//---- Titel, Description und einleitender Text fuer Software Seite 1. ---

$headt1   = "Ein Titel fuer die erste Software Seite";
$descrip1 = "Description fuer die erste Software Seite.";
$seitt1   = "Einleitender Text fuer Software Seite 1...";


//--- Titel, Description und einleitender Text fuer Software Seite 2. ---

$headt2   = "Ein Titel fuer die zweite Software  Seite";
$descrip2 = "Description fuer die zweite Software Seite.";
$seitt2   = "Einleitender Text fuer Software Seite 2...";

?>

Wie bereits erwähnt, im Zusammenspiel mit einer Datenbank würde sich eine größere Seitenzahl realisieren lassen. Bei Verwendung einer Datenbank würde ein beliebiger Parameter genügen, der z.B. eine Ziffer von 1 bis 1.000 übergeben würde, insofern so viele Seiten generiert werden sollen. In der Datenbank könnte dann zu jeder einzelnen Ziffer ein passender Titel, eine entsprechende Description und ein individueller Text abgespeichert werden. Weiterhin ließe sich mit mod_rewrite der QueryString unsichtbar machen. Doch für kleinere Shop sollte dieses Beispiel genügen.

Beschreibung | DemoShop | Download « / » User Agent


Copyright © 2006 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen