Die Wix-Code-Datenbank und Datenmodellierung

0
1984

Ich weiß zufällig, viele der Leser von CSS-Tricks sind starke web-Designer und-Entwickler. Die meisten von Euch wahrscheinlich nicht verwenden Sie website-Erbauer sehr oft, wie Sie einen website-generator. Sie lieben die Kontrolle. Sie lieben die Möglichkeiten. Sie wollen die Nähe zum metal, denn das ist Ihre expertise.

Aber Sie wissen auch, die Kosten. Alles, was Sie wählte, um sich selbst zu Pfählen, um der Verantwortung, die Sie übernehmen. Technische Schulden. Mit einem Homepage Baukasten wie Wix erheblich reduzieren kann, dass technische Schulden, und Sie werden überrascht sein, wie wenig Kontrolle Sie haben zu geben. Der folgende Beitrag wird über einige neue und sehr leistungsfähige neue Funktionen von Wix rechts, die Gasse.

Eine der coolen features von Wix-Code ist die Fähigkeit, trennen Sie Ihre Website-design und layout Ihrer Inhalte. Das bedeutet, Sie können erstellen und verwalten Ihre Informationen in einer Datenbank und dann haben Sie Ihre Seiten dynamisch abrufen und anzeigen dieser Informationen in welcher Weise auch immer Sie möchten.

Nehmen wir eine eingehende Blick auf, was Sie tun können, mit dem Wix-Code-Datenbank, einschließlich der Arten von Informationen, die Sie speichern können, Möglichkeiten, die Sie manipulieren können Daten mit code, und wie kann man dynamisch die Informationen auf Ihrer Website.

In diesem Artikel verwenden wir ein Vereinfachtes Beispiel einer Kunst, Schule, speichert und zeigt Informationen über seine Kurse und Lehrer.

Die Wix-Code-Datenbank

Wie alle Datenbanken, die Wix-Code-Datenbank besteht aus einzelnen Tabellen, die wir als Sammlungen. In unserem Beispiel von der art der Schule (siehe Bild unten) haben wir zwei Kollektionen, jeweils für die Kurse und Lehrer.

Sie können beliebig viele Sammlungen, wie Sie benötigen, und füllen Sie Sie mit einer nahezu unendliche Menge an Daten. Eine robuste Berechtigungen-Modell bedeutet, dass Sie vollständige Kontrolle darüber, wer auf Ihre Informationen zugreifen können und was Sie mit ihm tun können.

Sie können direkt mit Ihrem Live-Daten, die die Informationen, die Ihre Besucher sehen, wenn Sie Ihre Seiten anzeigen. Sie können auch die Arbeit mit Sandbox-Daten, so können Sie probieren Dinge aus, ohne sich auf die live-site. Sie können synchronisieren Sie mit Ihnen zu jeder Zeit.

Auffüllen Sammlungen

Sie haben mehrere Optionen für das Auffüllen Ihrer Sammlungen. Sie können manuell geben Sie die Daten direkt in die Wix-Content Manager, entweder auf Ihre Live-Daten oder Ihre Sandbox-Daten.

Wenn Sie eine Excel-ass ist, können Sie alles tun, die Arbeit in Excel (oder was auch immer Tabellenkalkulations-Programm, das Sie bevorzugen), speichern Sie das Arbeitsblatt als CSV-Datei und importieren es dann in die Wix-Code-Datenbank. In der Tat, können Sie Ihre gesamte Sammlung auf diese Weise, schema und alle. Können Sie importieren, um Ihre Live-Daten oder Ihre Sandbox-Daten.

Sie können auch den export Ihrer Wix-Daten auf CSV-Dateien. Wenn Sie stellen Sie sicher, dass die built-in-ID-system-Bereich, werden Sie in der Lage, ändern Sie Ihre Inhalte in Ihrer Tabelle und dann re-importieren Sie es in Ihre Wix-Code-Datenbank, so dass jeder Datensatz, oder was wir als das Element aktualisiert wird.

Eine Dritte option besteht darin, erstellen Sie ein Formular zum erfassen von Benutzereingaben und speichern Sie in Ihrer Datenbank.

Verwenden Von Externen Datenbanken

Wenn Sie bereits eine Datenbank irgendwo, denken Sie vielleicht, dass Sie nicht wollen, um es neu erstellen in Wix. Die gute Nachricht ist, dass Sie nicht haben, um. So lange, wie Sie Ihre Datenbank stellt eine API bereit, Sie können es von Ihrer Wix-site.

Für einfache Anwendungen, die Sie verwenden können, die wix-fetch-Modul—eine Implementierung der standard-JavaScript-Fetch API für den Zugriff auf Ihre externen Datenbank über eine HTTP-Anforderung und Verwendung dieser Daten in Ihrer Wix-site-Seiten.

Sie können auch koppeln Sie die wix-fetch-Modul mit einem anderen Wix-Modul, wix-router, können Sie Steuern das routing von eingehenden Anfragen. Mithilfe der Funktionalität, die durch diese beiden Module können Sie erstellen, SEO-freundliche dynamische Webseiten, die zeigen, dass unterschiedliche Daten je nach den URLs, die verwendet werden, um Sie zu erreichen.

Zum Beispiel können Sie das design der einzelnen Mitglieder-Profil-Seite, die verwendet werden können, indem alle Ihre Website-Mitglieder.

Mit wix-router und wix-fetch können Sie code schreiben, zieht Informationen aus der eingehenden Anfragen für die Profil-Seite, Abfragen einer externen Datenbank zum abrufen der Informationen für die Seite, und spritzt dann die Daten in der Profil-Seite. Sie können auch hinzufügen Sicherheit auf Ihrer Seite mithilfe des wix-Benutzer-Modul.

Also, wenn Sie erstellen Sie eine weitere Seite für die Benutzer zur Aktualisierung Ihrer Profil-Seiten, können Sie überprüfen, wer versucht, darauf zugreifen und erlauben nur Benutzern aktualisieren Ihre eigenen profile.

Daten Haken

Sie können hinzufügen, Haken zu Aktionen auf Ihre Sammlungen mit der wix-Daten-API.

Zum Beispiel, in unseren Lehrer-Kollektion haben wir zwei einzelne Felder: Vorname und Nachname. Um die Anzeige von Namen auf unseren Seiten zu erleichtern, wollen wir auch haben ein Feld, das beide Namen zusammen. Um dies zu tun, wir können hinzufügen, einen beforeInsert-Haken, um unsere Lehrer Kollektion, die Haken in die insert-Aktion, liest den Inhalt der Vorname und Nachname Felder, und dann verkettet Sie und füllt das Feld Vollständiger name.

Die Modellierung Ihrer Daten

Jetzt haben wir behandelt, die Datenbank selbst, lassen Sie uns sprechen, über die Modellierung Ihrer Daten in die Wix-Code-Datenbank.

Sammlung Von Schemas
Wie alle Datenbanken, jede Kollektion hat ein schema zur Definition der Felder. Alle standard-Feld-Typen werden unterstützt, einschließlich text -, Bild -, boolean -, number, date und Zeit-und rich-text.

Es gibt auch einen Bereich geben, speziell für URLs. Es formatiert automatisch die URL in klickbare links, die Sie hinzufügen können, um Ihre Seiten. Zum Beispiel, die Lehrer in Ihrer Schule liefern könnte, die URL Ihrer portfolio-website, und Sie könnte einschließen, dass link auf Ihrer dynamischen Seite.

Sie können auch das Feld Dokument-Typ, zum speichern einer Vielzahl von Dateitypen. Sie können zulassen, dass Benutzer das herunterladen von Dateien gespeichert, die in Ihren Sammlungen (wie das Lesen von Listen für jeden natürlich), oder hochladen Ihrer eigenen Dateien.

ID-Felder und Primärschlüssel-Felder

Jede Sammlung hat eine _ID Feld, das den Primärschlüssel für die Tabelle. Sammlungen haben auch ein primäres Feld (gekennzeichnet durch ein Schloss-Symbol), was die display-Taste für jedes Element.

Wenn Sie Verknüpfungen erstellen mit Referenz-Felder (siehe nächsten Abschnitt), werden die Werte aus dem PV-Feld. Die Referenz selbst wird das _ID Feld, natürlich. Wenn Sie planen, über die Verwendung der Referenz-Felder, ist es eine gute Idee, um sicherzustellen, dass die Daten, die Sie speichern in das primäre Feld ist einzigartig.

Referenz-Felder

Referenz-Felder schaffen eine Verbindung zwischen den Sammlungen, die Sammlung schema selbst. Dies ist ähnlich zu Fremdschlüsseln in relationalen Datenbanken.

Jedes Feld “Referenz” verweist auf eine bestimmte Sammlung. Der Wert, der angezeigt wird im Feld “Referenz” in jedes Element in der Auflistung ist entnommen aus dem Wert der primären Feld der referenzierten Kollektion.

In unserem Beispiel erstellen wir ein Feld “Referenz” in unseren Kursen Sammlung, die Punkte an unsere Lehrer-Sammlung, so dass wir zeigen können, wer unterrichtet jede Klasse.

Der Vorteil von Referenz-Feldern ist drei-Fach. Erstens, Sie helfen bei der Aufrechterhaltung der Integrität der Daten, da Ihr Wert direkt aus der referenzierten Kollektion. Zweitens, Sie beseitigen die Duplizierung der Daten, was wir alle wissen ist der Feind des guten Datenbank-design. Und drittens, wenn wir es schaffen, unsere Seitenlayouts, Felder verweisen, lassen Sie uns Zugang zu Informationen, auf die verwiesen wird Sammlung als auch in der main-Kollektion, die wir verwenden. Dies ermöglicht es uns, erstellen von master-detail-Seiten, wie Sie eine Liste aller Kurse, die von jedem Lehrer.

Die Erstellung von Seiten aus Ihren Inhalten

Natürlich, das speichern und verwalten der Daten ist nett, aber der wirkliche Punkt, der mit einer website ist, Anzeige von Inhalten für den Besucher. Reden wir also darüber, wie das funktioniert mit Wix Code.

Zurück zu unserem Kunst-Schule-Beispiel. Wir haben zwei verschiedene Arten von Informationen: Kurse und Lehrer. So könnten Sie beispielsweise durch die Gestaltung einer Seite-layout zur Anzeige aller Informationen über die einzelnen Kurse. Dann möchten Sie möglicherweise erstellen Sie eine master-detail-Seite, die eine Liste aller Ihrer Lehrer und der Kurse, die Sie unterrichten.

Einrichten der Dynamischen Seite

Wenn Sie die Erstellung von dynamischen Seiten im Wix-Code, definieren Sie zunächst die URL Steuern, welche Inhalte Ihre Seite kann Anzeige. Einige URLs können Sie ein einzelnes Element und andere, können Sie eine gesamte Kategorie von Gegenständen (z.B. alle Kurse eines bestimmten Levels).

Richten Sie die URL-Muster, durch die Auswahl von einem Feld (oder Felder) aus Ihrer Sammlung. Ein URL-Muster, das Sie verwenden können, um die Anzeige jede Ihrer Veranstaltungen werden konnte https://…/Courses/<Titel>. Jedes mal, wenn eine andere Seite generiert wird, wird das Feld ersetzt durch den eigentlichen Titel des Artikels abgerufen werden. So ein-Gang der URL der Seite wäre https://…/Courses/Art-History und ein weiterer Kurs der URL der Seite wäre https://…/Courses/Intro-to-Painting.

Dann gestalten Sie Ihre Seiten-layout im Editor setzen verschiedene Elemente auf der Seite und verbinden diejenigen, die Sie verwenden möchten, um die Anzeige dynamischer Daten Felder in Ihrer Sammlung. Sie können Textelemente, Bilder, buttons, Streifen und eine Vielzahl von multi-item-Elementen, wie Repeater, Tabellen und Galerien. Wenn Sie möchten, dass einige Elemente, die statisch bleiben, wie Titel, einfach nicht anschließen.

Das Bild unten ist ein Beispiel dafür, was ein dynamisches Seitenlayout für unsere Kurse Seite könnte so Aussehen wie im Editor. Die eckigen Klammern weisen darauf hin, dass dieser Inhalt dynamisch ist.

Die tatsächliche, dynamische Seiten Aussehen könnte etwas wie diesen.

Beachten Sie, wie beide Seiten haben das gleiche layout. Aber, einige die den Inhalt der Elemente wurden ersetzt durch die Informationen über die Kurse aus unserer Datenbank. Den hintergrund der Seite ist auch unterschiedlich für jede Seite. Die container-box sogar vergrößert automatisch zu umfassen, die größer ist natürlich die Beschreibung für die Geschichte der Kunst natürlich.

Beachten Sie vor allem, wie der name und ein Bild von jedem Kurs, die Lehrer sind, die auf der Seite erscheinen, obwohl die details über die einzelnen Lehrer werden in einer separaten Sammlung von Daten über den Kurs. Das ist, weil wir verbunden sind die Kurse und die Lehrer Sammlungen über ein Referenz-Feld, das gab uns den Zugang zu Informationen über die spezifischen Lehrer für jeden Kurs.

Beachten Sie schließlich, wie die Seite-URLs sind eindeutig auf jeder Seite. In Essenz, jede dieser Seiten ist einzigartig. Und Wix-Code erstellt diese automatisch für uns. Wenn wir hinzufügen, einen neuen Kurs, um unsere Sammlung, eine Seite wird er automatisch erstellt.

Master-Detail-Seiten

Eine andere kühle Sache, die Sie tun können, mit der Wix-Code ist zum erstellen von master-detail-Seiten. Sie können beispielsweise eine Seite erstellen, zu handeln, als ein index listet alle Lehrer in Ihrer Schule und der Kurse jeweils lehrt. Dies würde erfordern, ziehen Informationen aus mehr als einer Sammlung (Kurse und Lehrer), und dann filtern Sie die Kurse, die von Ihrem Lehrer so, dass nur die relevanten Kurse angezeigt werden.

Unsere Datenbank Sammlungen eingerichtet sind, in einer viele-zu-eins-Struktur; jeder Lehrer hat viele Kurse, die Sie unterrichten. In der Erwägung, dass oben wir angezeigt, die einzelnen Kurse und Ihre einzelnen Lehrer, jetzt werden wir den entgegengesetzten Ansatz und Anzeige jeder Lehrer und alle, die Ihre Kurse.

Unten ist ein Beispiel, was eine index-Seite mit master-detail-Informationen Aussehen könnte mit einem repeater.

Da der repeater angeschlossen ist, um unsere Lehrer Kollektion und unsere Kurse Sammlung, es können die Informationen aus beiden Sammlungen dynamisch. Die eingebettete Tabelle element in jedem repeater-Eintrag zeigt die Liste der Kurse, die jeder Lehrer unterrichtet.

Zusammenfassung

Wir haben einige high-level-Informationen über die Wix-Code-Datenbank und einige der Möglichkeiten, die es bietet für die Speicherung Ihrer Daten, der Manipulation Ihrer Daten und die Anzeige Ihrer Daten dynamisch an Ihre Besucher. Wir haben auch dargestellt, wie Sie die Möglichkeiten, die Sie kontrolliert, zum Teil von den Entscheidungen, die Sie machen, wenn Sie Ihre Sammlungen und die Sie verbinden. Bevor Sie beginnen die Erstellung Ihrer Wix-Code-Datenbank, es ist eine gute Idee, verbringen einige Zeit darüber nachzudenken, welche Art von Informationen Sie haben und wie Sie Sie anzeigen möchten, so dass Sie können die meisten effektiv modellieren Ihre Daten.