Mailinglisten-Archive |
Am 14 May 99, schrieb Andreas Kraftl zu "[php] Dynamisches Web": > Ich möchte ein komplett dynamisches Webangebot erstellen. Da gibt es viele Möglichkeiten. Was soll sich denn in Abhängigkeit von welchen Bedingungen verändern? In jedem Fall ist es sinnvoll, Inhalt, Navigation und Layout weitgehend zu trennen. Bei werbung.de (http://www.werbung.de und den anderen zu diesem Prohekt gehörenden servern) kommen alle Inhalte aus einer Datenbank. Auch die Menues werden dynamisch generiert. Die Layouts sind im Skript definiert und ändern sich je nach Benutzerrechten (können aber auch leicht für die gesamte Site geaendert werden). Alle Seiten werden über ein Hauptskript generiert. Dieses Hauptskript heisst index.php. Alle anderen Verzeichnisse und Seiten sind SymLinks auf index.php. Z.B. wäre bei /info/ratgeber/job info ein SymLink auf index.php. In der Apache-Konfiguration steht <Location /info> ForceType application/x-httpd-php3 </Location> damit info auch als PHP ausgeführt wird. Das eigentliche Skript index.php prüft als erstes, ob ein Benutzer eingeloggt ist und zu welchen Benutzergruppen er gehört. Dann ermittelt es, auf welchem Server es läuft (da das ganze Projekt über mehrere Server geht) und welche Seite der Benutzer haben will. Bei http://www.werbung.de/info/ratgeber/job weiss das Skript, daß der Server werbung.de ist, es selbst info heisst und als Parameter /ratgeber/job übergeben wurden. Es nimmt also das Layout für werbung.de (angepasst für den aktuellen Benutzer), generiert das Menu für die aktuelle Seite und holt den Seiteninhalt für /werbung/info/ratgeber/job aus der Datenbank. Die benutzerspezifischen Einstellung beschräneken sich zur Zeit auf zusätzliche Bedienungselemente für Administratoren (z.B. um den Seiteninhalt online zu bearbeiten) und für Besitzer von Inhalten (Bearbeitung von Firmeneinträgen, Jobanzeigen, Pressemitteilungen usw. durch den jeweiligen Autor). Geplant ist aber auch das Layout an persönliche Bedürfnisse anzupassen. Dann kann man zwischen verschiedenen Standard-Layouts wählen, Menues weg- oder z.B. auf Java umschalten oder einfach nur die grafikarme Version wählen. In unserem Fall werden diese Einstellungen in der Benutzerdatenbank vorgenommen. Man könnte aber auch Parameter übergeben (?layout=xy) oder das Layout im url codieren (/layout.xy/info/ratgeber/job bzw. /info/ratgeber/jobs/layout.xy). Man kann das natürlich auch von anderen Parametern wie dem Browser des Besuchers, seinem Host (z.B. um suchmaschinenspezifische Seiten zu liefern), der Tageszeit (morgens schweinchenrosa und abends nachtblau? ;)) und was einem sonst noch so einfällt abhängig machen. Gruß, Reiner -- NETZKONZEPTE - http://kukulies.de
php::bar PHP Wiki - Listenarchive