Catalog

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 Alle Versionen
Extensions TYPOlight Core

catalog 2

Mit Hilfe des Catalog-Moduls kann man eigentlich alles darstellen was wie ein Katalog aufgebaut sein soll. Angefangen von einfachen Tabellen bis hin zur Darstellung von Immobilien ist eigentlich alles möglich. Man kann den Catalog im Grunde als Möglichkeit sehen um eigene Module zu entwickeln ohne zu Programmieren.

In der neuen Version wurde vieles verändert. So ist es nicht mehr nötig Catalog und Catalog_ext zu installieren, da diese zusammengelegt wurden. Daher müssen Sie bei einem Update etwas aufpassen:

  • Zuerst die alten Modulordner entfernen
  • danach die neuen Modulordner hochladen
  • erst zum Schluss das Datenbankupdate ausführen!

So ist es möglich ohne Datenverlust den catalog upzudaten.

Neu Installation: Wenn man sich den catalog 2 (vom svn) neu installiert, dann braucht man zusätzlich noch das Modul backend_filterwiz. Alles andere ist direkt mit dabei. Aber bitte aufpassen welcher Ordner wo hin kommt ;-)

Allgemeines

Beispielanwendungen

Backend

Mit dem Catalog bekommt man 2 neue Menüeinträge im Backend:

  • Katalog
  • Taxonomie

Module

  • Catalog List (Zur Ausgabe einer Liste von Items)
  • Catalog Reader (Um die Details von einem einzelnen Item anzuzeigen)
  • Catalog Filter (Mit Hilfe von einem Filter können Besucher die Liste eines Catalogs Filtern und die Anzeige eingrenzen)
  • Catalog Navigation (Mit dieser Navigation kann man eine Navigation Erstellen. Die Navigation besteht zum Beispiel aus Kategorien)
  • Catalog Notify (Hiermit wird ein Formular erstellt, welches zur schnellen Kontaktaufnahme bei einem einzelnen Item dargestellt wird)
  • Catalog Featured (Hiermit kann man eine besondere Liste erstellen, die besondere Items darstellt. Die Liste wird per Zufall zusammengestellt.)
  • Catalog Related (Hiermit erstellt man eine Liste von ähnlichen Items - Einzusezten auf einer Seite wo auch der Catalog Reader enthalten ist. Zufallsausgabe)
  • Catalog Reference (Hiermit erstellt man eine Liste von Items mit einer gleichen Eigenschaft.)
  • Catalog Edit (Um ein Item im Frontend editieren zu können. Wird anstelle von Catalog Reader dieses Modul verwendet)

Für die einfachste Variante eines Cataloges braucht man nur eine Catalog List, wo dann alle Items in einer Liste/Tabelle ausgegeben werden.

Der nächste Schritt wäre eine Liste von Items mit einer Detail Ansicht. Dafür braucht man dann nur noch Catalog List und Catalog Reader. Die Liste verweist dabei auf den Reader wo dann ein einzelnes Item dargestellt wird.

Alle anderen Module sind für fortgeschrittene Bedürfnisse da und müssen an sich nicht für die Grundfunktionalität benutzt werden.

Erstellen von einem Katalog (Backend)

Auf Katalog klicken > Neuer Katalog:

  • Name des Katalogs angeben
  • Einen Tabellennamen angeben (Der catalog legt diese Tabelle selbstständig an. Es hat sich bewehrt eine Tabelle anzulegen ohne tl_ als präfix, da TYPOlight diese Tabellen sonst zum entfernen vorschlät. Ich empfehle den präfix cat_ damit man die Tabellen schnell wiederfindet.)
  • Alias field (kann erst später ausgefüllt werden) -> anstelle der ID wird der Alias genutzt bei den Links
  • publishField (kann erst später ausgefüllt werden) -> Hier kann ein Checkboxfeld ausgewählt werden, was die Funktion eines 'Auges' = on-/offline hat (z.B. Ein Feld mit dem Namen online)
  • Jump to page -> Hier muss die Detail Seite mit dem Modul Catalog Reader angegeben werden.
  • Ein Bild hinzufügen -> Hier kann ein Bild für den Katalog hinzugefügt werden, um im Backend den Katalog schnell von anderen unterscheiden zu können
  • Zeichenkette des Titels formatieren (wird erst später gebraucht) -> Um im Backend die Übersicht von vielen Items besser gewährleisten zu können, kann man hier die Anzeigen der einzelnen Items konfigurieren
  • Allow comments -> Kommentare bei den einzelnen Items erlauben und konfigurieren (Funktion ist wie bei News o.ä. daher wird hier nicht genauer darauf eingegangen)
  • Searchable -> Wenn man die Items auch in der TYPOlight Suche Indexieren lassen möchte. Nach aktivierung ist es möglich Conditions (Ausnahmen) einzugeben und das Title Feld anzugeben von einem Item (weiteres zu Conditions und Title finden Sie weiter unten)
  • Enable CSV import -> Damit ist es möglich CSV-Dateien zu importieren. Natürlich sollte man das nicht einfach so machen und nur von Leuten die wissen was sie tun. Daher kann hier festgelegt werden, das nur Administratoren das machne dürften und ob Items überschrieben werden oder nicht
  • Generate feed -> Hier kann festgelegt werden, das ein RSS-Feed generiert wird aus den Items (Funktion ist wie bei News o.ä. daher wird hier nicht genauer darauf eingegangen)

Erstellen von Attributen/Feldern von Items in einem Katalog

Nun ist die Grundkonfiguration von einem Katalog erst einmal abgeschlossen. Aber es ist noch nicht festgelegt aus welchen Feldern ein Item denn nun Besteht, also welche Attribute ein Item besitzen kann. Dazu kommen wir jetzt:

Katalog > Felder für Katalog erstellen > Neues Feld:

Die Standardwerte von Feldern

Die Speziellen Felder werden erst sichtbar, wenn man einen Feldtyp ausgewählt hat. Diese Werte werden weiter unten erläutert.

  • Field configuration
    • Bezeichnung (Eine Eindeutige Bezeichnung für das Feld. Diese sollte möglichst selbsterklährend sein.)
    • Beschreibung (Um im Backend und beim Frontend-Editing eine Beschreibung anzuzeigen für die Ersteller eines Items)
    • Spaltenname (der Spaltenname in der Tabelle, muss eindeutig sein und diesen sollte man auch so vergeben, das er Logisch ist, da man beim Template erstellen diese Namen benutzt um an die Inhalte zu kommen)
    • Typ (weiter unten)
  • Display Settings (Diese Einstellungen sind für die Ansicht im Backend zuständig)
    • Kontroll-Checkbox (Wenn eine Kontroll-Checkbox angegeben wird, wird dieses Feld erst angezeigt, wenn das Kontroll-Checkbox Feld angekreuzt ist)
    • Vorher Umbruch einfügen (Um dieses Eingabefeld in einer neuen Zeile zu beginnen)
      • Legend Titel (hier kann dann ein Name für den Legend Titel angegeben werden -> die Grün geschriebenen Titel im Backend)
    • Enable half width (um 2 Felder nebeneinander anzuzeigen - durch TYPOlight 2.7 möglich)
  • Backend filter settings (hier kann festgelegt werden ob das Feld im Backend zur Filterung angezeigt wird)
    • Sortieren
    • Filter
    • Suche
  • Advanced settings
    • Pflichtfeld -> Dieses Feld muss ausgefüllt werden
  • Frontend editing
    • Frontend editing groups -> Welche Gruppen dürfen dieses Feld im Frontend bearbeiten (Mehrfach Angabe ist Möglich). Wenn hier nichts angegeben wird, dürfen alle Gruppen dieses Feld im Frontend editieren

Typ - Feldtypen von Feldern

Hier werden die Angaben für die jeweiligen Typen aufgelistet und erläutert.

Text

  • Format settings
    • Prefix und Suffix Strings
    • Format
      • Formattyp
        • Zeichenkette
        • Nummer
        • Datum
      • Zeichenfolge für Formatierung

Alias

Es ist immer nur ein Alias Feld erlaubt in einem Katalog. Die Funktion ist die selbe wie bei einem Alias für eine Seite.

  • Alias-Titel-Feld (Aus diesem Feld wird automatisch ein Alias generiert, wenn keine Angabe beim Alias gemacht wurde. Dieses Feld muss nicht Eindeutig sein. Der Alias wird aber eindeutig generiert und ist damit genau so benutzbar wie eine eindeutige ID)

Langtext

  • Advanced settings
    • Allow html (wenn erlaubt werden in dem Feld HTML-Tags erlaubt - Liste der erlaubten HTML-Tags ist in den Eigenschaften von TYPOlight editierbar)
    • Rich Text (wenn angekreuzt wird der TinyMCE angezeigt)

Nummer

  • Advanced settings
    • Minimum (legt den Minimalwert fest, den ein Benutzer eingeben kann)
    • Maximum (legt den Maximalwert fest, den ein Benutzer eingeben kann)
  • Format settings
    • Prefix und Suffix Strings
    • Format
      • Formattyp
        • Zeichenkette
        • Nummer
        • Datum
      • Zeichenfolge für Formatierung

Dezimal

  • Advanced settings
    • Minimum (legt den Minimalwert fest, den ein Benutzer eingeben kann)
    • Maximum (legt den Maximalwert fest, den ein Benutzer eingeben kann)
  • Format settings
    • Prefix und Suffix Strings
    • Format
      • Formattyp
        • Zeichenkette
        • Nummer
        • Datum
      • Zeichenfolge für Formatierung

Datum

  • Advanced settings
    • Zeiteingabe (Falls ausgewählt, darf der Benutzer Datum und Zeit eingeben
    • Format
      • Formattyp
        • Zeichenkette
        • Nummer
        • Datum
      • Zeichenfolge für Formatierung

Checkbox

Zum erstellen einer einfachen Checkbox. Hier kann nicht viel eingestellt werden, da ja nur 1 oder 0 als Zustand gillt.

Auswahl

Hiermit kann man eine Auswahl (Select Feld) erstellen, die als Grundlage eine andere Tabelle nutzt. Das kann Taxonomie sein oder auch ein anderer Katalog.

  • Advanced settings
    • Include blank option (Um bei der drop-down Liste auch die Möglichkeit zu haben eine leere Auswahl anzubieten)
  • Options settings
    • Tabelle für Optionen (Hier muss die Tabelle ausgewählt werden wo die Optionen drinn stehen - Taxonomie wäre -> tl_taxonomie)
    • Spalte für Tabellenwerte (Eine Spalte für die Speicherung einer Option auswählen. Hier sind nur die Spalten vorgegeben, die sich auch in der Tabelle befinden)
    • Anzeige der Sortierspalte (Um die Sortierung der Optionen vorzunehmen kann hier eine andere Spalte ausgewählt werden.)
    • Filter items (Hier kann man wieder eigene Filter definieren um die Auswahl einzugrenzen)
    • Auswahl der Einträge
      • Optionen (Hier kann man noch mal genau Auswählen welche Optionen man anbieten möchte)
      • Modus für Unterauswahl
        • Show selected items collapsed (Nur die ausgewählten Items anzeigen)
        • Show children of selected items collapsed (Nur die Kinder der selectierten Items anzeigen)
        • Tree with all items selectable (Baumansicht mit allen Items als Option auswählbar)
        • Tree with only children selectable (Baumansicht nur mit den Kind-Items auswählbar)
      • Parent Filter (Hier kann man das Eltern Element angeben, welches die Optionen enthält. Praktisch wenn man 2 Bäume bei der Taxonomie hat und nur einen zur Auswahl geben will)

Tags

Auch Tags sind ähnlich der Auswahl dazu da eine andere Tabelle als Wert anzugeben.

Der Unterschied besteht darin, das Tags eine Checkboxliste ergeben mit der auch eine Mehrfachauswahl möglich ist.

  • Advanced settings
    • Include blank option (Um bei der drop-down Liste auch die Möglichkeit zu haben eine leere Auswahl anzubieten)
  • Options settings
    • Tabelle für Optionen (Hier muss die Tabelle ausgewählt werden wo die Optionen drinn stehen - Taxonomie wäre -> tl_taxonomie)
    • Spalte für Tabellenwerte (Eine Spalte für die Speicherung einer Option auswählen. Hier sind nur die Spalten vorgegeben, die sich auch in der Tabelle befinden)
    • Anzeige der Sortierspalte (Um die Sortierung der Optionen vorzunehmen kann hier eine andere Spalte ausgewählt werden.)
    • Filter items (Hier kann man wieder eigene Filter definieren um die Auswahl einzugrenzen)
    • Auswahl der Einträge
      • Optionen (Hier kann man noch mal genau Auswählen welche Optionen man anbieten möchte)
      • Modus für Unterauswahl
        • Show selected items collapsed (Nur die ausgewählten Items anzeigen)
        • Show children of selected items collapsed (Nur die Kinder der selectierten Items anzeigen)
        • Tree with all items selectable (Baumansicht mit allen Items als Option auswählbar)
        • Tree with only children selectable (Baumansicht nur mit den Kind-Items auswählbar)
      • Parent Filter (Hier kann man das Eltern Element angeben, welches die Optionen enthält. Praktisch wenn man 2 Bäume bei der Taxonomie hat und nur einen zur Auswahl geben will)

URL

Der Feldtyp URL hat keine besonderen Parameter. Er dient lediglich der ein und ausgabe einer URL.

Datei

Dieser Feldtyp ist für die Ein- und Ausgabe von Dateien vorhanden. Man kann damit Downloads oder Galerien erstellen.

  • Advanced Settings
    • Mehrere Dateien (Wenn Ausgewählt können mehrere Dateien ausgewählt werden)
    • Ändern des Dateibaumes
      • Setzen des Ordners für das Wurzelverzeichnis (Hier kann ein spezieller Dateibaum gewählt werden, um unnötige Wege zu verkürzen)
      • Gültige Dateitypen (In einer Komma-separierten Liste kann man hier die Dateitypen auf eine Gültige Liste einschränken)
      • Nur Dateien erlauben (Ordner sind dann nicht anwählbar)
  • Format settings
    • Bild anzeigen (Um ein Bild / eine Bildergalerie anzeigen zu lassen)
      • Bildbreite und höhe sind auswählbar
    • Link erzeugen
      • Um einen Link zum herunterladen der Datei zu erzeugen oder bei einem Bild eine Vollansicht (Lightbox) anzubieten

Calculate

Um Berechnungen auf SQL Ebene vorzunehmen

  • Calculation formula (Eingabe von einer SQL calculation für das Feld, wie '(price*1.15)*qty'
  • Format settings
    • Prefix und Suffix Strings
    • Format
      • Formattyp
        • Zeichenkette
        • Nummer
        • Datum
      • Zeichenfolge für Formatierung

Bewertungen

Die Besucher der Internetseite können bei angabe eines solchen Feldtypes eine Bewertung vornehmen

  • ajaxratingfield (Angabe von maximalen Punkten die ein Besucher vergeben kann)

Zugriffszähler

Ohne Optionen. Hiermint wird einfach gezählt und ausgegeben wie oft auf dieses Item zugegriffen wurde. Es ist auf ein Klick per IP pro Tag festgelegt.

Frontend Benutzer

Ohne Optionen. Um die Items nur dem jeweiligen Frontendbenutzer der sie angelegt hat zuzuweisen muss ein Feldtyp dieser Art angelegt sein.

Meta Keywords

Ohne Optionen. Um eine Liste von Keywords für diese Item eingeben zu können.

Mehrspaltiger Text

Hiermit kann ein Feld ähnlich des Tabellenelements in TYPOlight angelegt werden. Man definiert einmal die Spaltenanzahl und Überschriften. Beim Anlegen des Items hat man dann die Möglichkeit beliebig viele Zeilen anzugeben.

  • Spaltenüberschriften (Angabe der Anzahl, der Reihenfolge und der Titel der Spaltenüberschriften)

Produktvariante (Besonderheit vom chshop -> wird dort erläutert)

Sobald man Felder definiert hat

ist in der Übersicht bei den Feldern zu sehen ob ein Feld:

  • zur Suche markiert ist
  • Sortierbar ist
  • Gruppiert wurde (um die Reihenfolge festzulegen)
  • ein Pflichtfeld ist
  • ob es eine Kontrol Checkbox ist (nur wenn angewählt wird es sichtbar)
  • Ob es ein Dateityp ist
  • Ob es sich um ein Bild handelt
  • in der halben Breite im Backend angezeigt wird
  • Ob darüber ein Filter angewendet wird

Frontend Module und Ihre Atribute

Bei den verschiedenen Modulen muss als ersten eine Auswahl getroffen werden für welchen Katalog das Modul gemacht wird. Dabei kann immer nur ein Katalog gewählt werden.

Allgemeine Einstellungen (die alle Module haben):

  • Titel
  • Überschrift
  • Modultyp (mit den unten stehenden Modultypen)
  • Zugriffsschutz (Nur bestimmten Gruppen das Modul anzeigen)
  • Experten Einstellungen
    • Nur Gästen anzeigen
    • CSS-ID/Klasse
    • Abstand davor und dahinter


Catalog List

Zur Ausgabe einer Liste von Items

  • Als wichtigstes muss eine Weiterleitungsseite eingestellt werden. Auf dieser Seite muss der Catalog Reader vorhanden sein.
  • Visible Fields - Sichbare Felder. Diese Felder sind dann im Template verfügbar. Man kann auch die Reihenfolge der Ausgabe bestimmen.
  • Override default Link (Um den Normalen Details Link außer Kraft zu setzen und ein anderes/mehrere andere Felder auszuwählen, die dann verlinkt werden)
  • Search Fields (Hier muss angegeben werden in welchen Felder die Suche aktiv ist. So kann man genau steuern was alles durchsucht werden soll)
  • Enable Conditional List (Erst wenn ein Filter mit diesem Feld vom Besucher ausgewählt wurde, wird die Liste angezeigt.)
  • Elemente pro Seite (wie Überall in TYPOlight wird darüber eine Pagination eingerichtet, wenn die Liste größer ist als die hier angegebene Zahl. 0 steht auch hier für keine Pagination)
  • Catalog Filtering (hier können Filter definiert werden um die Items in der Liste einzuschränken)
    • Condition (Hier kann die Liste eingeschränkt werden über SQL Syntax -> zum Beispiel online=1)
    • Order by (Auch hier wird mittels SQL Syntax gearbeitet. Diesmal bestimmt man die Sortierung der Items in der Liste)
    • Query Mode (Hier kann bestimmt werden wie sich mehrere Filter auf die Liste auswirken)
      • ALL matches (AND) (Alle Filter müssen mit den Items die ausgegeben werden übereinstimmen)
      • ANY matches (OR) (Irgendein Filter muss mit den Items die ausgegeben werden übereinstimmen)
    • Tags Mode (Hier kann eingestellt werden wie sich mehrere Tags auf die Items in der Liste auswirken)
      • ALL matches (AND) (Alle Tags müssen mit den Items die ausgegeben werden übereinstimmen)
      • ANY matches (OR) (Irgendein Tag muss mit den Items die ausgegeben werden übereinstimmen)
  • Catalog Thumbnails
    • Override Image sizes (Um in der Listenansicht andere Bildabmessungen zu haben als in bei dem Item vorgegeben. Besonders sinnvoll ist der Einsatz, wenn in der Liste das Vorschaubild auf das Item kleiner sein soll als in der Detail Ansicht)
  • Catalog Edit (Hier geht es nicht um das Bearbeiten der Liste im Frontend, sondern um die möchlichkeit einen weiteren Link auszugeben der zu der Bearbeitung führt)
    • Enable Editing (Einschalten der Option)
    • Jump to page (Weiterleitung zu der Seite wo Catalog Edit vorhanden ist)
  • Template-Einstellungen (Da es bei dem Catalog sehr viel öfter vorkommt, das man ein eigenes Template anlegen muss, kann man hier in jedem Modul genau einstellen welches Template genutzt werden soll)
    • Catalog layout
      • catalog_list (Standard layout für die einzelnen Items der Liste)
      • catalog_simple (Einfache Ausgabe)
      • catalog_simple_table (Einfache Ausgabe in einer Tabelle)
    • Catalog template
      • mod_cataloglist (Standard template für die Liste)

Catalog Reader

Um die Details von einem einzelnen Item anzuzeigen

  • Als wichtigstes muss eine Weiterleitungsseite eingestellt werden. Auf dieser Seite muss der Catalog Reader vorhanden sein.
  • Catalog layout (Auswahl des Templates für den Reader)
    • catalog_full (Standardtemplate um alles Auszugeben)
    • catalog_full_rev (Template um alle Felder auszugeben - Entwickler Version)
  • Visible Fields - Sichbare Felder. Diese Felder sind dann im Template verfügbar. Man kann auch die Reihenfolge der Ausgabe bestimmen.

Catalog Filter

Mit Hilfe von einem Filter können Besucher die Liste eines Catalogs Filtern und die Anzeige eingrenzen

Catalog Navigation

Mit dieser Navigation kann man eine Navigation Erstellen. Die Navigation besteht zum Beispiel aus Kategorien

Catalog Notify

Hiermit wird ein Formular erstellt, welches zur schnellen Kontaktaufnahme bei einem einzelnen Item dargestellt wird

Catalog Featured

Hiermit kann man eine besondere Liste erstellen, die besondere Items darstellt. Die Liste wird per Zufall zusammengestellt.

Catalog Related

Hiermit erstellt man eine Liste von ähnlichen Items - Einzusezten auf einer Seite wo auch der Catalog Reader enthalten ist. Zufallsausgabe

Catalog Reference

Hiermit erstellt man eine Liste von Items mit einer gleichen Eigenschaft. Muss mit dem Catalog Reader zusammen eingesetzt werden.

Catalog Edit

Um ein Item im Frontend editieren zu können. Wird anstelle von Catalog Reader dieses Modul verwendet


Tipps und Tricks zur Umsetzung

Welche Variablen habe ich zur Verfügung in meinen Templates?

Damit bekommt man das komplette Array ausgegeben <?php print_r($this->entries); ?>

Wie kann man in der Detail Ansicht den meta-title so beeinflussen, das dieser den Namen von dem Item nimmt?

Einfach das Feld für den Namen mit title benennen. Der catalog wird dann automatisch dieses Feld benutzen um den meta-title zu generieren.

Wie bekomme ich so ein Auge bei den Items? / on- offline Schalten von Items

Zuerst muss man sich in Feld vom Typ 'Checkbox' anlegen. Zum Beispiel mit dem Namen 'online'. Jetzt kann man den Katalog konfigurieren und bei publishField das Checkbox-Feld ausgewählwählen. Ab jetzt ist im Backend bei den Items von einem Katalog so ein graues oder grünes Auge (je nach Zustand)


Detail Seiten in die sitemap.xml und ins Modul Sitemap bringen

  • sitemap.xml -> Den Katalog einfach für die indexierung der Suche freigeben -> Searchable
  • Modul Sitemap -> Hier werden die Detail Seiten nicht integriert, da es bei einem normalen Katalog schon zu viele Einträge wären um diese Sinnvoll dort darzustellen.

Alias bei Links benutzen (anstelle der ID)

Dazu brauchst man nur ein Pflichtfeld (Namen von dem Item) und erstellt dann noch ein Feld vom Typ Alias. Das Alias-Titel-Feld ist dann der Name von dem Item. Bei dem Katalog selber muss noch ausgewählt werden welches das Alias Feld ist. Das Alias Feld ist genau so wie das Alias Feld von Seiten etc., man kann einmal selbst was eintragen oder das Automatisch generieren lassen, wenn man das leer lässt. Nachdem die Suche und die Seiten neu generiert wurden (Systemwartung) sollte der Alias bei der Suche und auch bei der Detailansicht (URL) genutzt werden. Im Moment muss in der Liste das Alias Feld als 'Sichtbar' ausgewählt werden. Sonst funktioniert die Verlinkungn nicht! (Sollte in der Endversion behoben sein)

Folderurl und der catalog wollen nicht so recht

Unter Einstellungen kann unter Sicherheitseinstellungen eine Liste von Variablennamen angeben werden, welche von folderUrl als Parameter erkannt werden sollen. Hier muss "orderby,sort" angegeben werden. Dadurch 'ignoriert' Folderurl diese Parameter und der catalog ist wie immer nutzbar.


--MacKP 13:02, 5. Apr. 2010 (UTC)

Ansichten
Meine Werkzeuge

Contao Community Documentation

omg, ich brauche wirklich ne Freundin... ich lese nachts um 2 den Wiki Beitrag über Comic Sans MS

Leo Unglaub
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge