Catalog mit Frontend-Editing und Workflow erstellen

Aus Contao Community Documentation

MsgError.png Unvollständiger Artikel: dieser Artikel ist noch nicht sauber bearbeitet.

Bitte erweitere ihn und entferne erst anschliessend diesen Hinweis.


betrifft
TYPOlight Version ab 2.8
Extensions TYPOlight Core,

Catalog Version 2

Kurzbeschreibung

Hier geht es darum, wie man Items im Frontend ersellen und bearbeiten kann. Anhand eines Immobilienkataloges wird auch noch die Einrichtung eines Workflows vorgestellt. Zum Schluss soll es dem Besucher der Seite noch möglich sein Kontakt zu dem Seitenbetreiber aufzunehmen (mithilfe eines Formulars bei dem Item). Hier bei dem Beispiel werden exemplarisch zwei Arten von Immobilien angelegt (Haus zum kaufen und Hotelzimmer). Bei diesem Beispiel ist die Backend-Ansicht von den Items nicht wirklich wichtig und wurde auch vernachlässigt, da alle Items über das Frontend verwaltet werden.

Benötigte Erweiterungen

  • catalog
    • backend_filterwiz
    • backend_tabletree
    • DC_DynamicTable
    • taxonomy
  • catalogitemuseridfield (für den Workflow wichtig, da damit die Items dem User zugewiesen werden)
  • catalog_mailer (hier gibt es im Moment noch das Problem einer blöden abhängigkeit von catalog_ext. also noch nicht installieren!)


Voraussetzungen für das Tutorial

  • wie ein Katalog erstellt wird sollte von anderen Tutorials klar sein und man sollte die Beschreibung der einzelnen Felder gelesen haben.
  • Erstellung von Taxonomie
  • der Umgang mit TYPOlight sollte bekannt sein
    • Seitenstruktur bearbeiten
    • Module anlegen
    • Templates bearbeiten
    • Mitgliederbereich einrichten (für 2 Gruppen:Makler und Makler-Admins)

Erstellen der Grundlagen im Backend

Erstellung von neuen Seiten in der Seitenstruktur

  • Startseite (Hier wird catalogfeatured eingesetzt)
    • Immobilien Liste (Filter und Liste der Immobilien)
      • Immobilien Details (die Detailseite von einem Item)
  • Geschützer Bereich
    • Immobilien Anlegen (Für normale Makler)
      • Haus zum kaufen Liste
        • Haus zum kaufen anlegen / bearbeiten
      • Hotelzimmer Liste
        • Hotelzimmer anlegen / bearbeiten
    • Immobilien Anlegen Administration (Für Makler-Admins)
      • Haus zum kaufen Liste
        • Haus zum kaufen anlegen / bearbeiten
      • Hotelzimmer Liste
        • Hotelzimmer anlegen / bearbeiten


Taxonomie (Bedingung)

Die Taxonomien sind für die Kategorien und für die Gebiete der Items

Man erstellt sich zuerst die Kategorien und die Optionen. Wobei man hier wie bei einem Baum Verschachtelungen vornimmt:

  • Immobilien
    • Immo Art
      • Haus
        • Miethaus
        • Ferienhaus
        • Haus zum kaufen
      • Hotel
        • Hotelzimmer
    • Immo Gebiete
      • Bizerte
      • Jendouba
      • Beja
      • etc.

Das Ergebniss sollte ungefähr so aussehen wie auf diesem Bild: BILD1 TAXONOMIEN

Erstellen von einem Katalog mit Feldtypen

Neuer Katalog

Zuerst erstellt man mit einem Klick auf Neuer Katalog einen neuen Katalog und stellt den wie folgt ein:

  • Name von dem Katalog angeben
  • einen Tabellennamen angeben (die Tabelle wird automatisch erzeugt). Bitte keine Tabellen mit tl_* anlgegen, da diese dann von TYPOlight immer als zu löschen vorgemerkt werden beim aktualisieren der Datenbank.
  • Alias und Felder veröffentlichen kann erst später angegeben werden, wenn diese Felder vorhanden sind.
  • Sprung zur Seite: Angabe der Detailansicht
  • Suche - Suchbar -> aktivieren (keine Bedingung angeben)
  • Alle weiteren Einstellungen werden erst später vorgenommen.

BILD2 Katalog Merkzettel

Felder definieren für den Katalog Merkzettel

Es werden folgende Felder angelegt (Einstellungen die nicht vorgenommen werden, sind nicht aufgelistet):

Feldtypen für die Items
Bezeichnung Spaltenname Typ Einstellungen
Titel immo_titel text
  • Sichtbar in der Backend-Listen-Ansicht
  • Sortierungs-Dropdown aktivieren
    • Sortier-Modus -> Gruppieren anhand der ersten zwei Buschstaben und absteigend
    • Backend-Suche aktivieren
  • Pflichtfeld
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Alias immo_alias_auto alias * Alias-Titel-Feld -> Titel
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Benutzer ID userid Frontend-Benutzer
Art immo_art Auswahl
  • Pflichtfeld
  • Tabelle für Optionen -> tl_taxonomy
  • Option Spaltenwert -> name
  • Option Sortierspalte -> name
  • Sichtbar in der Backend-Listen-Ansicht
  • Die Optinsauswahl individualisieren
    • Auswahl der Stamm-Einträge -> Immo Art
    • Modus für Unter-Auswahl -> Zeigen Sie die Kindelemente von ausgewählten Einträgen ausgeklappt an.'
    • Filter des Elternelements -> leer lassen
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Umgebungsbeschreibung immo_umgebung langtext
  • HTML erlauben
  • Rich Text
  • TinyMCE-Editor-Template -> tinyMCE
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Bild immo_bild file
  • Sichtbar in der Backend-Listen-Ansicht -> aktivieren
  • Beschriftungsgruppe beginnen -> aktivieren
    • Titel der Beschriftung -> Produktbild
  • Format Einstellungen
    • Als Bildfeld mit Miniaturansicht erstellen
    • Bildbreite und -höhe -> 200 / 100 / Exaktes Format
    • Links als Dateidownload oder Bilder-Lightbox erstellen -> aktivieren
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Bildergalerie immo_bildergalerie file
  • Mehrfach-Auswahl
  • Anordnung nach Dateiname (aufsteigend)
  • Format Einstellungen
    • Als Bildfeld mit Miniaturansicht erstellen
    • Bildbreite und -höhe -> 200 / 100 / Exaktes Format
    • Links als Dateidownload oder Bilder-Lightbox erstellen -> aktivieren
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Veröffentlichen immo_veröffentlichen checkbox
  • Sichtbar in der Backend-Listen-Ansicht
  • Beschriftungsgruppe beginnen -> aktivieren
    • Titel der Beschriftung -> Online
    • Backend-Filter aktivieren
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen
Online immo_online checkbox
  • Sichtbar in der Backend-Listen-Ansicht
  • Beschriftungsgruppe beginnen -> aktivieren
    • Titel der Beschriftung -> Online
    • Backend-Filter aktivieren
  • Gruppen für Frontend-Bearbeitung
    • Makler-Admin
Hervorheben immo_besonders checkbox
  • Sichtbar in der Backend-Listen-Ansicht
  • Beschriftungsgruppe beginnen -> aktivieren
    • Titel der Beschriftung -> Online
    • Backend-Filter aktivieren
  • Gruppen für Frontend-Bearbeitung
    • Makler-Admin
Immobilie entfernen immo_delete checkbox
  • Sichtbar in der Backend-Listen-Ansicht
  • Beschriftungsgruppe beginnen -> aktivieren
    • Titel der Beschriftung -> Online
    • Backend-Filter aktivieren
  • Gruppen für Frontend-Bearbeitung
    • Beide Gruppen auswählen

Erklärung

  • Natürlich sind hier noch viel mehr Felder und Feldtypen angelegt. Diese paar sollten aber reichen um das prinzip zu verdeutlichen.
    • Jede Art hat da ihre eigenen Felder (z.B. ist die Grundstücksfläche für Hotelzimmer nicht wichtig und wird daher dann später nicht mit ausgegeben)
  • Bild und die Galerie sind getrennt, damit später in der Listenansicht ein bestimmtes Bild ausgegeben werden kann.
  • Die Checkboxen Veröffentlichen, Online, Hervorheben und Immobilien entfernen sind besonders wichtig für die Verwaltung der Immobilien.
    • Nur Makler-Admins bekommen später die Möglichekeit Immobilien online zu stellen (Online) und diese auf der Startseite anzuzeiben (Hervorheben)

die Katalog Einstellungen noch einmal überarbeiten

Da jetzt die Feldtypen definiert wurden, kann man im Katalog selbst noch weiter Einstellungen vornehmen:

  • Alias-Feld -> Alias
  • Feld veröffentlichen -> NICHTS hier nicht angeben, da die Makler im Frontend sonst ihre Items nicht sehen können!
  • Meta-Title-Feld -> Titel
  • Meta-Beschreibungs-Feld -> Umgebungsbeschreibung
  • Zeichenkette des Titels formatieren -> {{immo_titel}} - {{immo_gebiet}} - {{immo_art}}<br /> {{immo_bild::w=100&h=80}}

Einstellen von ein paar Items (Produkten)

Nun können ein paar Immobilien erstellt werden. Zu beachten ist: diese Immobilien gehören erst einmal keinem Mitglied. Erst wenn ein Mitglied das Item bearbeitet und speichert ist es ihm Zugeordnet!

Die nötigen Module

Katalog-Filter

Damit die Benutzer und die Mitglieder das angezeigt bekommen was sie wollen, sollte man mit einem Filter die Immobilien Einschränkbar machen. Damit auch alle die passende Einstellung haben bei der Weiterleitungsseite muss man dieses Modul 3 mal anlegen und jeweils zur passenden Seite mit der Liste weiterleiten (eins anlegen und kopieren erleichtert einem die arbeit enorm *g*)

Einstellungen:

  • Modul-Konfiguration -> Katalog -> Immobilien (den gerade eben erstellen Katalog auswählen)
  • Weiterleitungsseite -> Immobilien Liste (je nachdem für welche Gruppe der Filter gerade erstellt wird)
  • Benützen Sie Filterkonditionen des Listers auf der selben Seite -> aktivieren (dadurch sind nur die Filter aktiv, die auch passende Immobilien beinhalten)
  • Filter pro Abschnitt aktivieren
    • Gebiet -> Auswahlmenü
    • Art -> Auswahlmenü
  • Such-Filter
    • Suchbox aktivieren -> aktivieren
    • Kopfzeile suchen -> Suche (h3)
    • Suchfelder
      • Alle Felder die man durchsuchbar haben möchte ankreuzen (z.B. Titel, Gebiet, Art, Umgebungsbeschreibung)
  • Filter-Layout -> filter_default (der Standard)


Katalog-Liste

Nun muss man mehrere Listenmodule anlegen. Einmal eine Liste für die Besucher. Dort sind alle Immobilien vorhanden, die online sind. Für die Makler und Makler-Admins muss man nun für jede Art eine passende Liste erstellen. Bei 5 verschiedenen Arten sind das also 5 Listen für Makler, 5 Listen für Makler-Admins. Zusammengenommen also 11 Listen. Das ganze kann man sicher auch mittels PHP und MySQL etwas zusammenfassen. Hier geht es jedoch darum, das Prinzip aufzuzeigen und jedem zu ermöglichen so einen Katalog ohne viel Programmierkenntisse anzulegen.

Einstellungen:

  • Modul-Konfiguration -> Katalog -> Immobilien (den gerade eben erstellen Katalog auswählen)
  • Weiterleitungsseite -> Immobilien Details
  • Sichtbare Felder (in diesem Beispiel):
    • Titel
    • Gebiet
    • Bild
    • Art
  • Standard-Link überschreiben (normalerweise wird ein Links 'Details' erzeugt. Ich möchte hier aber den Titel und das Bild verlinkt haben)
    • Titel
    • Bild
  • Feld-Filter
    • Suchfelder
      • nach Bedarf anklicken
    • Abfrage-Modus -> Alle Treffer (AND) - so werden nur die Immobilien angezeigt, die der Region, der Art und der Suche entsprechen!
    • Tags-Modus -> Alle Treffer (AND) - so werden nur die Immobilien angezeigt, die der Region, der Art und der Suche entsprechen!
  • Bedingung Je nach Liste etwas anders:
    • Liste für Besucher der Seite: immo_online=1 and immo_freigeben=1 and immo_delete!='1' Das bedeutet -> Zeige alle Items, die online sind, die freigegeben sind und die nicht Entfernt sind (also als solche Markiert)
    • Liste für Makler immo_art='136' and immo_delete!='1' AND (userid={{user::id}} OR userid=0) Das bedeutet -> Zeige alle Items der Art 136 (ID der Taxonomie 'Haus zum kaufen'), und nicht Entfernt wo die UserID gleich der eigenen oder keiner ist (alle Items von dem Mitglied und Items die noch keinem zugeordnet sind)
    • Liste für Makler immo_art='136' and immo_delete!='1' Das bedeutet -> Zeige alle Items der Art 136 (ID der Taxonomie 'Haus zum kaufen'), und nicht Entfernt sind an. Hier wird nicht die UserID abgefangen! Dadurch können Makler-Admins alle Immobilien sehen.
    • Elemente pro Seite -> 6
  • Template-Einstellungen
    • Katalog-Layout -> catalog_list_gast_immo (Original: catalog_simple)
      • oder -> catalog_list_immo (für Makler und Makler-Admins - muss nicht gemacht werden, ich habe da nur die Klasse der Immobilien verändert, so das ich die Zustände der Immobilien besser sehen kann)
    • Katalog-Template -> mod_cataloglist

Katalog-Leser

Hiervon gibt es nur ein Modul. Die Makler und Makler-Admins bekommen das Modul Katalog-Edit. Die Ausgabe der verschiedenen Arten und deren besonderheit regel ich über das Teplate mit einer extra if-Abfrage (lasse also nur die Felder anzeigen, die überhaupt einen Inhalt haben).

  • Modul-Konfiguration -> Katalog -> Immobilien (den gerade eben erstellen Katalog auswählen)
  • Sichtbare Felder (in diesem Beispiel):
    • Titel
    • Gebiet
    • Art
    • Umgebungsbeschreibung
  • Template-Einstellungen
    • Katalog-Layout -> catalog_full_immo (Original: catalog_full )
    • Katalog-Template -> mod_catalogreader_immo (Original: mod_catalogreader)

Katalog-Featured

Hiermit werden die hervorgehobenen Items auf der Startseite dargestellt.

  • Modul-Konfiguration -> Katalog -> Immobilien (den gerade eben erstellen Katalog auswählen)
  • Weiterleitungsseite -> Immobilien Details
  • Sichtbare Felder (in diesem Beispiel):
    • Titel
    • Gebiet
    • Bild
    • Art
  • Standard-Link überschreiben (normalerweise wird ein Links 'Details' erzeugt. Ich möchte hier aber den Titel und das Bild verlinkt haben)
    • Titel
    • Bild
  • Feld-Filter
    • Abfrage-Modus -> Alle Treffer (AND) - so werden nur die Immobilien angezeigt, die der Region, der Art und der Suche entsprechen!
    • Tags-Modus -> Alle Treffer (AND) - so werden nur die Immobilien angezeigt, die der Region, der Art und der Suche entsprechen!
  • Bedingung
    • immo_online=1 and immo_besonders and immo_delete!='1' Das bedeutet, das hier nur Immobilien angezeigt werden, die Online, besonders und nicht Entfernt sind.
  • Template-Einstellungen
    • Katalog-Layout -> catalog_list_gast_immo (Original: catalog_simple)
    • Katalog-Template -> mod_catalogfeatured (ist das Original)

Katalog-Related

Hiermit werden ähnliche Immobilien auf der Detailseite einer Immobilie angezeigt. Übereinstimmen muss in diesem Beispiel nur das Gebiet. Bei vielen Items sollte die Liste hier weiter eingeschränkt werden (Sinnvoll wäre zum Beispiel die Art der Immobilie)

  • Modul-Konfiguration -> Katalog -> Immobilien (den gerade eben erstellen Katalog auswählen)
  • Weiterleitungsseite -> Immobilien Details
  • Sichtbare Felder (in diesem Beispiel):
    • Titel
    • Gebiet
    • Bild
    • Art
  • Standard-Link überschreiben (normalerweise wird ein Links 'Details' erzeugt. Ich möchte hier aber den Titel und das Bild verlinkt haben)
    • Titel
    • Bild
  • Feld-Filter
    • Betroffene Felder, die übereinstimmen müssen -> Gebiet
    • Anzahl der Tags die zusammengehöhren müssen -> 0 (macht nur sinn bei mehreren. Dann werden nur Items angezeigt, die zum Beispiel 2 Gleiche Felder haben bei der Angabe von 2)
    • Bedingung -> immo_online=1 and immo_delete!='1' Das bedeutet, das hier nur Immobilien angezeigt werden, die Online und nicht Entfernt sind.
    • Anzahl der Einträge -> 5
  • Template-Einstellungen
    • Katalog-Layout -> catalog_list_gast_immo (Original: catalog_simple)
    • Katalog-Template -> mod_catalogrelated (ist das Original)


Katalog-Edit

Die Module in Artikeln den passenden Seiten zuordnen

Nun müssen die Module noch auf die jeweils passende Seite gebracht werden:


Templates

Hier werden nur die geänderten Templates durchgegangen und erläutert wie man diese Handhabt. (Wird noch erstellt, nachdem das Tutorial fertig ist zur allgemeinen Bearbietung von catalog Templates)



--MacKP 14:52, 18. Mai 2010 (UTC)

Ansichten
Meine Werkzeuge

Contao Community Documentation

Programmierer brauchen viel Bit, auch wenn es Beck's ist.

Christian Schiffler
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge