CakePHP & DIEVOLUTION Blog
Projektbericht: Wetzlarsuff.de
Für alte Schulkameraden habe ich den Internetauftritt ihrer Trinkgruppe umgestaltet. Anhand dieses Berichtes möchte ich anderen Webdesignern/Developern einen Einblick in meine Arbeitsweise sowie in das CakePHP Framework geben, welches hier zum Einsatz gekommen ist.
Projekt: Wetzlarsuff.de
Aufgabenstellung:
- Leichte grafische Aktualisierung
- Generelle Überarbeitung des Codes (vorher html)
Gewünscht wurden folgende Möglichkeiten
- Alle Eingaben über Webinterface (kein Quellcodeedit)
- Newsscript
- Eventkalender mit Anmeldemöglichkeit zu Events
- Bildergallerie mit Themenzuordnung
- Onlineshop
- Usersystem für Mitglieder
- Kommentarsystem für alle Bereiche
Gearbeitet habe ich mit dem CakePHP Framework, PHP5&MySQL.
Arbeitsweise mit CakePHP:
CakePHP ist ein mächtiges Framework für PHP4+5, dass dem Developer ein Höchstmaß an Vereinfachung und Objektorientiertem Programmieren ermöglicht. Dabei teilt sich das Framework in drei Hauptteile auf: Models, Controller und Views. Models repräsentieren die Anbindung an Datenbanktabellen und verknüpfen diese untereinander, Controller enthalten die Logik und Views die Präsentation. In Zukunft wird es hier im Blog mehr CakePHP Tipps und Bericht geben.
Auf der linken Seite ist als Beispiel der Dateibaum dieses Projektes zu sehen (ausschnitt).
CakePHP verhält sich ähnlich wie Ruby on Rails, wer also damit bereits Erfahrung hat, sollte sich auch an Cake nicht die Zähne ausbeißen.
Doch genug Cake, nun zu den interessanten Dingen dieses Projektes, den Features:
Featurelist:
Usersystem
Das Usersystem besteht aus einer einfachen Struktur, es gibt Administratoren und User (wenn benötigt können auch mehr Unterscheidungen getroffen werden ohne Code ändern zu müssen). Ein Anmelden eines User funktioniert durch einen Administrator, da es nur Mitgliedern gestattet sein soll, die Memberbereiche zu betreten. Administratoren haben darüberhinaus die Möglichkeit, sämtliche Bereiche der Site zu editieren.
Newssystem
Ein Script, welches nach Anmeldung als Administrator ausgeführt werden kann. Es erstellt automatisch Headlines der 10 aktuellsten News sowie Ankerpunkte zu diesen. Im Administrationsmodus HTML Code in die News eingebunden werden, zudem kann jeder Kommentare zu den News abgeben. Zur Finanzierung der Seite ist auf der Newsübersichtsseite eine Google Werbeanzeige platziert worden.
Onlineshop
Der Onlineshop bietet eine beliebige Anzahl Kategorien, welche wiederrum eine beliebige Anzahl Artikel speichern können. Jeder Artikel besitzt eine Auswahl von Art+Größe (beispielsweise T-Shirt + XXL), die auch verändert werden können. Auf der linken Seite ist ein Bild der Shop Administration zu sehen.
Desweiteren können für jeden Artikel bis zu 5 Bilder hochgeladen werden, die automatisch resized werden, das erste Bild wird im Shop selbst als Indexbild benutzt.
Die Bestellung selbst erfolgt ohne vorherige Anmeldung. Wie in jedem guten Webshop gibt es einen Warenkorb, der dem User ausführlich mitteilt, was er gerade im Begriff ist zu kaufen. Nach einem Klick auf “zur Kasse” kommt er zu einer Übersicht, in der er seine Adressdaten zum Versand eingeben muss. Hier ist darauf geachtet worden, dass der User keine Möglichkeit besitzt, ein Feld auszulassen. Nach dem Absenden der Bestellung erhält der User einen Downloadlink, mit dem er sich seine Rechnung downloaden kann. Eine E-Mail wird optional versandt. Diese Rechnung ist ein On-the-Fly generiertes PDF Dokument, in dem die Bankverbindung etc. mitgeteilt wird. Der User hat ferner keine Möglichkeit, Rechnungen anderer Kunden aufzurufen.
Nach Zahlungseingang kann der Administrator die Rechnung im Shop Menü als Bezahlt markieren und damit abschließen.
Eventkalender
Der Eventkalender nutzt zur Eingabe Datumsfelder sowie Beschreibungsinputs. Das Event wird in die Datenbank eingetragen und passend zum Monat ausgelesen. Ein Kalender auf der Eventsseite zeigt alle im Monat anfallenden Events. Zudem sind in der Auflistung alle Events nach Datum sortiert aufgeführt, wobei das nächstgelegenste an oberster Stelle steht. Nach einen Klick auf Details kann der User, sofern er angemeldet ist, sich für das Event als Anwesend eintragen. Auf diese Weise sieht man immer, wer im Begriff ist, zu kommen.
Bildergallerie
Die Bildergallerie ist die Hauptattraktion der Seite. Es gibt verschiedene Themen sowie für jede Bildergruppe pro Thema eine Extra Übersicht. Sämtliche Bilder können kommentiert werden.
Das besondere an diesem Script ist die Uploadprozedur. Man lädt alle Bilder, die einer bestimmten Bildergruppe zugeordnet werden sollen per FTP in einen Ordner auf dem Webspace. Diesen Ordner gibt man dann im Adminmenü an, schreibt noch einen Titel der Gruppe und startet die Verarbeitung. Durch den Hoster (in diesem Fall 1&1) wird die Anzahl der pro Schrit verarbeitbaren Bilder etwas gesenkt, so dass man alle 11 Bilder die Verarbeitung per Klick fortsetzen muss. Das Script durchsucht nun den Ordner nach vorhandenen Thumbnails. Ist für das aktuelle Bild kein Thumb vorhanden wird der Bildname passend zur Bildergruppe in die Datenbank eingetragen, ein Thumbnail erstellt, das Orginalbild auf eine Breite von 800Pixeln resized sowie ein transparentes Wasserzeichen unten rechts auf dem Orginalbild eingefügt. Nachdem alle Bilder bearbeitet wurden kann die Bildergruppe via Web betrachtet werden. Als Administrator ist es dann noch möglich, per Drag und Drop die Reihenfolge der Bilder zu ändern um z.B. chronologische Abläufe darzustellen.
Kommentare
Kommentare sind bei Events, News und Bildern möglich. Ist der User angemeldet, brauch er nur Titel und Text des Kommentars anzugeben sowie eine Sicherheitsabfrage (Captcha) zu überstehen um ein Kommentar abzugeben. Der Name des Autors ist in diesem Fall unterstrichen um anzuzeigen, dass es sich hierbei um einen offiziellen Kommentar handelt. Gäste könen auch Kommentare posten, hierbei ist zu den oben genannten Punkten noch ein Name zu wählen.
Die übrigen Elemente wurden auf Wunsch von Wetzlarsuff als HTML Dateien statisch belassen und können weiterhin über FTP geändert werden.
Ich hoffe, dieser Projektbericht hat euch gefallen, ich werde solch einen Bericht bei jedem abgeschlossenen Projekt verfassen, um meine Arbeitsweise sowie die Features meiner Scripts der Allgemeinheit näherzubringen. Es ist auch nicht ausgeschlossen, dass ich Scripts für CakePHP in Zukunft auf Open Source Basis veröffentliche.
Stay Valid
<?DIEVO?>
Veröffentlicht am Donnerstag, den 19. April 2007 um 10:52 Uhr veröffentlicht
Du kannst einen Kommentar schreiben, oder einen Trackback auf deiner Seite einrichten.
Eine Reaktion zu “Projektbericht: Wetzlarsuff.de”
-
Am 19. April 2007 um 16:05 Uhr
Sehr gute Arbeit, ich bin wirklich zufrieden damit und es vereinfacht es uns total, weiter dumme Bilder hochzuladen! Vielen Dank dafür!
Auf einen Blick
Archiv
- November 2008
- Oktober 2008
- August 2008
- Juli 2008
- Juni 2008
- Mai 2008
- April 2008
- März 2008
- Februar 2008
- Januar 2008
- Dezember 2007
- November 2007
- Oktober 2007
- September 2007
- August 2007
- Juli 2007
- Juni 2007
- Mai 2007
- April 2007
Kategorien
- Allgemein (72)
- Cake vs Rails (3)
- CakePHP (42)
- Meinung (16)
- Projekt (6)
- Rails (6)
- Tipps (28)
- Typo3 (4)
Letzte Einträge:
- 11.04.2007: Neustart
- 11.04.2007: Design Version 1 steht
- 11.04.2007: Blog
