Aktuelles / BlogAktuelles / Blog

Neueste Meldungen, Hintergrundinfos, HOW-TOs

...und vieles mehr nur hier im Blog

Weitere Informationen zu Contentpapst Weitere Informationen zum CP::Shop

Neueste Beiträge


Entwickler-Blog: Tipps & Tricks

<< zum vorherigen Eintragzum nächsten Eintrag >>

Bearbeitung von Webseiten-Inhalten durch Besucher ermöglichen (Fr, 25.07.2008)

Das Modul CP::Forms wurde im Verlauf der letzten Updates des Content-Management-Systems Contentpapst (und somit auch der Shop-Software CP::Shop) zu einem immer wichtigeren Modul, auf welches viele Seitenbetreiber bei der täglichen Pflege ihrer Webseiten und Online-Shops mittlerweile nicht mehr verzichten möchten. So ermöglicht es CP::Forms doch erstmals auch Benutzern ohne Programmierkenntnisse beliebige eigene Datenbanken (Pressemeldungen, Adressbücher etc.) und Formulare (Kontaktformulare, RMA-Meldungen etc.) direkt über die grafische Oberfläche eines CMS anzulegen. Die Formulare zum Hinzufügen und Bearbeiten von Einträgen, umfangreiche Import- und Exportfunktionen, eine Live-Suche in den Datenbanken, Statistiken uvm. liefert CP::Forms dabei automatisch mit, ohne dass eine gesonderte Programmierung erforderlich ist.

Bereits bislang war es für mit CP::Forms erstellte Datenbanken möglich, im Frontend der Webseite ein Formular einzublenden, welches es den Besuchern ermöglichte, eigene Einträge zu dieser Datenbank hinzuzufügen. Die Einträge wurden dann je nach Konfiguration der Datenbank automatisch freigeschalten oder aber der Seitenbetreiber / Administrator wurde per Email über einen neuen Eintrag informiert, welchen er dann manuell freischalten konnte.

In Bild 1 sehen Sie ein Beispiel für ein derartiges Formular, über welches Besucher neue Artikel für ein Artikelverzeichnis selbstständig hinzufügen können. Die Einbindung eines solchen Formulares ist dabei denkbar einfach:

Dieser sogenannte Containeraufruf kann direkt über den im Administrationsbereich abrufbaren {cp:tag}-Wizard generiert werden, so dass auch diese Syntax nicht erlernt werden muss (Aufruf über das Zauberstab-Symbol oben rechts). Vielmehr können die Containeraufrufe ebenfalls über die grafische Oberfläche zusammengeklickt und dann in beliebigen Artikeln und Vorlagen des Systems eingebaut werden.

Seit der Version 2008.2 von Contentpapst / CP::Shop ist nun erstmals auch eine nachträgliche Bearbeitung der selbst veröffentlichten Einträge über das Frontend der Webseite möglich (d.h. ohne Zugriff auf den Administrationsbereich). Dafür müssen die folgenden Kriterien erfüllt werden:

  • es handelt sich um ein datenbankbasiertes CP::Forms-Modul
  • es muss ein Feld vom Typ "Autor / Verfasser" vorhanden sein
  • das Formular sollte nur durch eingeloggte Benutzer abrufbar sein

Im Folgenden werden wir genauer erläutern, wie das oben sichtbare Beispiel um eine Bearbeitungsfunktion ergänzt werden kann.

  1. Das bereits angelegte CP::Forms-Modul muss über den Link "Modul bearbeiten" um ein Feld vom Typ "Autor / Verfasser" ergänzt werden. Name und Beschriftung des Feldes können frei gewählt werden. In diesem Beispiel haben wir "author" als Feldnamen und "Autor" als Beschriftung gewählt.

    Damit ein Benutzer diese Angaben nicht selbstständig verändern kann, sollte die Option "Autor / Verfasser frei wählbar" deaktiviert und die Option "Eingabe notwendig" aktiviert sein.
     
  2. Anschließend muss nur noch der oben eingeblendete Containeraufruf folgendermaßen erweitert werden:

Über den Parameter "edit_field" wird dem Container dabei mitgeteilt, dass die ID des Benutzers im Feld mit dem Namen "author" gesucht und mit der ID des aktuell eingeloggten Benutzers abgeglichen werden muss. Über "edit" hingegen wird ein bestimmter Eintrag zur Bearbeitung ausgewählt. In diesem Beispiel kommt der Wert für diesen Parameter aus der Variablen "oid" in der URL.

Folgendermaßen könnte eine komplette Administration eines Artikelverzeichnisses direkt im Frontend realisiert werden:

Die oben genannte Vorlage "/modules/forms_artikelverzeichnis/templates/artikel_liste.html" hat in diesem Beispiel den folgenden Inhalt:

Wird der hier sichtbare Code in einen Artikel oder eine Vorlage eingebaut, dann sieht ein nicht eingeloggter Besucher nur das normale Formular zum Hinzufügen von Artikeln. Einem eingeloggten Benutzer hingegen wird oberhalb des Formulars zusätzlich eine Liste der bislang von ihm eingestellten Artikel angezeigt (Bild 2). Mit einem Klick auf den Titel eines Artikels kann dieser dann im Formular geladen und bearbeitet werden.

Alle notwendigen Sicherheitsüberprüfungen, die Validierung der Formularinhalte uvm. liefert CP::Forms dabei frei Haus.


RSS-Feed abonnieren RSS-Feed abonnieren

Blog-Eintrag kommentieren

Um einen Kommentar zu diesem Beitrag zu verfassen, können Sie sich im folgenden Formular entweder manuell mit Benutzername und Email-Adresse identifizieren oder aber Sie loggen sich über ein vorhandenes Profil bei Facebook, Twitter, OpenID etc. ein. Auf Wunsch haben Sie die Möglichkeit, sich automatisch über weitere Kommentare informieren zu lassen.

<< zurück

Weitere Einträge in der Kategorie "Tipps & Tricks"