URL-Struktur für eine Datenbank
Datenbanken existieren innerhalb einer Seite, die Du mit CMS erstellt hast. Auf einzelne Kategorien und Datensätze in der Datenbank wird über die URL dieser Seite zugegriffen. Wenn Du zum Beispiel eine Seite mit der URL https://www.example.de/test hast und diese Seite Deine Datenbank enthält, wird ein Datensatz daraus über die URL https://www.example.de/test/<Kategorie>/<Datensatz> aufgerufen, wobei Kategorie der Name der Kategorie und Datensatz der Name des Datensatzes ist. Deine URLs werden sich auch dynamisch aktualisieren, wenn Du Deine Seite umbenennest oder die Datenbank auf eine andere Seite verschiebst.
Um diesen Ansatz zu erleichtern, kann eine Datenbank jeweils nur auf einer Seite enthalten sein. Sie kann nicht auf anderen Seiten dupliziert werden (obwohl Du Blöcke erstellen kannst, die Daten aus dieser Datenbank enthalten, und diese dann auf anderen Seiten verwenden).
Felder
Für eine fortgeschrittenere Nutzung von Datenbanken sind benutzerdefinierte Daten erforderlich. So können zusätzliche Felder zur Erfassung der Daten eingerichtet werden. Felder werden im AdminCP erstellt, und wenn ein Benutzer einen neuen Datensatz hinzufügt, werden diese Felder auf dem Formular angezeigt.
Invision Community unterstützt eine breite Palette von Feldtypen, so dass Du Daten eines bestimmten Typs einfach erfassen kannst. Hier sind die unterstützten Typen:
-
Adresse
Bietet ein spezielles automatisch ausfüllendes Adressfeld, das von Google unterstützt wird -
Checkbox
Ein einzelnes Ein/Aus-Kontrollkästchen -
Checkboxen
Eine Gruppe von mehreren Ein/Aus-Kontrollkästchen -
Code
Bietet eine Möglichkeit den Inhalt mit Syntax-Highlight zu formatieren -
Datum
Ein Datumsfeld mit einer Datumsauswahl -
Editor
Stellt einen Rich-Text-Editor für die WYSIWYG-Bearbeitung an -
Datenbankbeziehung
Ein erweiterter Feldtyp, der die Verknüpfung von Datensätzen aus verschiedenen Datenbanken ermöglicht -
Benutzer
Stellt ein automatisch ausfüllendes Suchfeld für Benutzernamen -
Nummer
Ein Zahleneingabefeld (bei älteren Browsern wird auf ein einfaches Textfeld zurückgegriffen, jedoch mit Zahlenüberprüfung) -
Passwort
Ein Eingabefeld für Kennwörter -
Radio
Eine Gruppe von Radiofeldern (d.h. es kann nur eine der Optionen ausgewählt werden) -
Auswahlfeld
Ein Drop-Down-Menü mit den bereitgestellten Optionen (kann auf Wunsch auch Mehrfachauswahl ermöglichen) -
Soundcloud
Ein Feld in dem Soundcloud eingebettet werden kann -
Spotify
Ein Feld zur Einbettung von Spotify -
Telefonnummer
Ein Eingabefeld für Telefon (bei älteren Browsern wird auf ein einfaches Textfeld zurückgegriffen) -
Text (Standard)
Ein einzeiliges Texteingabefeld -
Textbereich
Ein mehrzeiliges Texteingabefeld -
Upload
Ein Feld, das Upload von verschiedenen Dateien, z. B. Bildern, Videos usw. ermöglicht (auch mehrfachen Uploads) -
URL
Ein URL-Eingabefeld (bei älteren Browsern wird auf ein einfaches Textfeld mit URL-Formatprüfung zurückgegriffen) -
Ja/Nein
Ein Umschaltfeld, das Ja- oder Nein-Werte annehmen kann -
YouTube
Ein Feld zur Einbettung von YouTube
Viele dieser Feldtypen verfügen über zusätzliche, für sie spezifische Optionen. Beispielsweise haben Auswahlfelder eine Option, die die Auswahl mehrerer Werte erlaubt, während der Upload-Feld Optionen für die Auswahl mehrerer Dateien und eine Möglichkeit zur Einschränkung von Dateitypen bietet.
Feldformatierung
Auf Felder kann eine automatische Formatierung angewendet werden. Für Nicht-Programmierer steht eine Reihe von farbigen Darstellungsoptionen zur Auswahl, und Du hast eine gewisse Kontrolle über die Position, die das Feld in der Listen- oder Datensatzanzeige annimmt. Die Programmier haben jedoch volle Kontrolle über die HTML-Ausgabe für jedes Feld, einschließlich der Verwendung der Template-Logik. Das bedeutet, dass Du die von IPS für jedes Feld gespeicherten Daten auf sehr interessante Weise nutzen kannst. Du kannst beispielsweise den Wert eines Adressfeldes nehmen und ihn zur Ausgabe einer eingebetteten Google-Maps-Karte verwenden oder sogar einige Felder erstellen, die Du nicht ausgibst, sondern stattdessen zur Steuerung des Layouts Deiner Datensatztemplates verwendest.
Berechtigungen
Es gibt mehrere Berechtigungsebenen bei der Arbeit mit Datenbanken:
-
Seitenebene
Da die Seiten ihre eigenen Berechtigungseinstellungen haben, kann der Benutzer die Datenbank auch nicht sehen, wenn er nicht die Erlaubnis hat, die Seite zu sehen. -
Datenbankebene
Die Berechtigungen können auf Datenbankebene festgelegt werden, was auch die Standardberechtigungen für Kategorien in der Datenbank bildet -
Kategorie-Ebene
Eine Kategorie kann optional die Berechtigungen der Datenbankebene außer Kraft setzen und ihre eigenen Berechtigungen haben. Dies ist nützlich für versteckte Kategorien - vielleicht nur für Mitarbeiter oder eine Kategorie nur für Premium-Mitglieder.
Verwaltung von Datenbanken
Die Datenbanken werden im AdminCP unter Seiten -> Inhalte -> Datenbanken verwaltet. Du wirst auch feststellen, dass einzelne Datenbanken im Pages Menü im AdminCP für einen schnelleren Zugriff aufgelistet sind. Hier siehst Du einige einfache Informationen über jede Deiner Datenbanken sowie Menüpunkte zur Verwaltung der einzelnen Teile:
Datensätze können entweder über AdminCP (klicken auf das Seiten-Icon am Ende der Zeile) oder über das Frontend, hinzugefügt werden. Das bedeutet, dass Benutzer keinen AdminCP-Zugang benötigen, um Datensätze hinzuzufügen bzw. zu bearbeiten.
Erstellen von Datenbanken
Um eine Datenbank zu erstellen, klicke auf die Schaltfläche + Neu erstellen in der Übersicht der Datenbanken (s. Screenshot oben). Es gibt eine Reihe von Konfigurationsoptionen, die Dir zur Verfügung stehen.
Details
Die Grundeinstellungen für diese Datenbank. Unten auf dieser Registerkarte kannst Du die Templates auswählen, die Du für diese Datenbank verwenden möchtest. Wenn Du diese noch nicht erstellt hast, kannst Du es auch später machen.
Sprache
Auf der Registerkarte Sprache legst Du die Wörter fest, die verwendet werden, um auf Datensätze in dieser Datenbank zu verweisen (anstelle der allgemeinen "Datensätze"-Terminologie). Wenn Du z.B. eine Datenbank für Leitfäden erstellen, bedeutet diese Sprachauswahl, dass Invision Community im Kontext auf die Datenbank verweist, z.B. "Leitfäden suchen", "Es gibt 5 Leitfäden in dieser Datenbank" und "Neuen Leitfaden erstellen".
Optionen
Auf dieser Registerkarte kannst Du die Funktionsweise Deine Datenbank genauer steuern, einschließlich Kommentare, Bewertungen, Stichwörter und die Bearbeitung im Wiki-Stil. Hier sind auch Sortieroptionen verfügbar, mit denen Du die Reihenfolge der Datensätze und vor allem das Feld, nach dem sie sortiert werden, auswählen kannst. Wenn Du zum Beispiel eine Datenbank mit Datensätzen über Dinosaurier hast, kannst Du die Datensätze nach Epoche sortieren (ein benutzerdefiniertes Feld, das Du erstellt hast). Du kannst die Einstellung auch im nachhinein bearbeiten, nachdem Du Deine Felder erstellt hast.
Forum
Diese Registerkarte ermöglicht die oben erwähnte Foren-Integration für die Datenbank (einzelne Kategorien können diese Einstellungen auch überschreiben).
Seite
Da eine Datenbank eine Seite benötigt, auf der sie angezeigt wird, kannst Du hier während der Datenbankerstellung eine solche Seite hinzufügen. Alternativ kannst Du sie später zu einer Deinen bestehenden Seiten hinzufügen.
Hinzufügen einer Datenbank zu einer Seite
Wenn Du eine Seite nicht während der Datenbankerstellung hinzufügst, kannst Du es auch manuell tun, indem Du ein spezielles Datenbank-Tag in Deinem Seiteninhalt verwendest. Auf der Registerkarte Details des Datenbankformulars hast Du einen Datenbankschlüssel angegeben. Auf diese Weise wird diese Datenbank in Seiten eingebunden. Wenn der Schlüssel meine-datenbank ist, würdest Du sie so in eine HTML-Seite einfügen:
{datenbank="meine-datenbank"}
Wie oben erwähnt, kann eine Datenbank immer nur auf einer Seite zur gleichen Zeit existieren; der Versuch, diesen Tag auf mehreren Seiten zu verwenden, wird nicht korrekt funktionieren.
Problem mit Seite melden?