- Veröffentlicht am
- Durch
In .NET a Masterpage
ist eine Vorlage für Inhaltsseiten, auf denen eine Reihe von ASPX-Seiten verwendet wird, die alle dasselbe verwenden Masterpage
können alle den gleichen Basiscode verwenden.
EIN Masterpage
kann dann eine oder mehrere haben contentPlaceHolders
definiert und jede ASPX-Seite, die das verwendet Masterpage
muss nur den Code definieren, der in der contentPlaceHolder
. Masterpages
kann auch geschachtelt werden, so werden sie in unserer Beispielseite strukturiert.
Das Basis Seite
, denk dran, das ist das Vorlage
und Dokumentenart
von denen alle nachfolgenden Seiten erben werden, sollte nur die Elemente enthalten, die allen Seiten der Website gemeinsam sind. Öffne die BasePage.master
Datei in Visual Web Developer Express (VWD). In der Datei ist bereits ein kleiner ASPX-Code mit einem
Element. Dieses Element zeigt auf ein
Element in einem von Umbraco Masterseiten
.
Es ist möglich, den Code dem hinzuzufügen Masterseiten
vollständig durch das Umbraco-Backend; wenn Sie einen der auswählen Vorlagen
in dem die Einstellungen
In diesem Bereich wird eine Kopie der Datei zur Bearbeitung in das rechte Bedienfeld des Back-End geladen. Diese Funktion eignet sich eher für kleine Änderungen und Aktualisierungen am Masterseiten
, und zum Einfügen von Makros oder Artikeln. Wenn wir eine vollständige .NET-IDE verwenden, erhalten wir Intellisense und eine Reihe anderer Funktionen, die in Umbraco nicht vorhanden sind Masterseiten
In der Regel ist in beiden Bereichen eine Bearbeitung erforderlich.
Fügen Sie den folgenden Code in das ein
Element:
Speicher die Datei. Lassen Sie uns einen Blick darauf werfen, was wir haben. Es ist im HTML5-Format, wie wir direkt am Minimal erkennen können DOKTYP
und Meta-Zeichensatz
Element. Es ist nicht unbedingt notwendig, HTML5 zu verwenden, aber wir können es auch tun, richtig? In dem Von der Seite haben wir einen Link zu einem Stylesheet (das wir noch nicht erstellt haben, aber später noch erstellen werden) und einem
Element. Das
enthält unser erstes Umbraco-Tag und zeigt auf ein Makro. Machen Sie sich jetzt nicht zu viele Sorgen, wir haben noch keine Makros besprochen und diese werden in einem späteren Teil der Serie ausführlicher behandelt. Der Inhalt der Seite ist in a eingeschlossen Element mit der
runat
Attribut auf gesetzt Server
, Dies ist Standardpraxis für .Net-Sites. Wir haben auch einen Link zum HTML5shiv
Datei in Google-Code, damit IE8 oder darunter unsere HTML5-Elemente korrekt anzeigen kann.
Als nächstes haben wir eine Element, das a enthält
Element für die Überschrift und die Zeile der Hauptsite (bestehend aus
und
Tags) und a
Element, das die Hauptnavigation für die Site enthält, die aus einer ungeordneten Standardliste erstellt wird. Der für die Hauptnavigation angezeigte HTML-Code wird in der endgültigen Form der Site nicht verwendet. Hier wird angegeben, wie der HTML-Code aussehen soll, wenn er automatisch mit einem anderen Makro erstellt wird. Es ist nützlich, die Grundstruktur für dynamisch erstellte Elemente hinzuzufügen, falls diese vor dem Hinzufügen der dynamischen Bits gestaltet werden müssen. Dies ist besonders wichtig, wenn Sie als Teil eines Teams arbeiten und eine andere Person mit dem (spaßigen) Back-End-Material umgehen wird.
Wir haben dann eine Wir haben auch eine Als Nächstes können wir den Code hinzufügen, aus dem die Startseite besteht. Wenn wir das öffnen Fügen Sie nun den folgenden Code hinzu Diese Masterseite enthält einen anderen Typ von Umbraco-Elementen - das Es sollte jetzt ein wenig klarer sein, wie sich die Eigenschaften in den Dokumenttypen auf die Elemente beziehen, die auf unseren Seiten enden, aber machen Sie sich keine Sorgen, wenn es zu diesem Zeitpunkt nicht 100% ig klar ist - wir haben noch keine erstellt tatsächliche Seiten noch nicht, aber wenn wir den letzten Teil des Puzzles machen, sollte es ordentlich einrasten. Als nächstes haben wir ein Bildelement; Da wir einen Media-Picker verwenden (ich erkläre genau, was ein Media-Picker ist, wenn wir die Seite erstellen), ist der Code dafür wesentlich komplexer als bisher. Einer der Abschnitte im Umbraco-Backend ist der Wenn wir das hinzufügen Schließlich fügen wir einige grundlegende Aufschläge für das Heldenpanel hinzu, einschließlich eines äußeren Containers (der Unsere Inhaltsseiten sind relativ einfach und werden unter Verwendung einer einzigen Eigenschaft von der erstellt Fügen Sie dann den folgenden Code zum hinzu Das ist alles, das ist alles, was wir in unserer Inhaltsseitenvorlage verwenden werden. In der Realität wäre eine Inhaltsseite wahrscheinlich viel komplexer, aber für unser einfaches Beispiel sollte sie ausreichen. Wir haben eine äußere Hülle verwendet Unsere NewsList-Vorlage wird fast so grundlegend sein wie unsere Auf dieser Seite haben wir eine Unsere Der Artikelkörper ist ein äußerer Behälter Wir haben also mindestens ein paar Stunden damit verbracht, Dinge zu konfigurieren (mehr, wenn Sie VWD + SQL Server installieren mussten), also fügen wir bereits einige Seiten hinzu! In einer Umbraco-Site gibt es eigentlich keine einzelnen "Seiten" als solche. Denken Sie nicht zu sich selbst - "Ich brauche diese Seite, um etwas Einzigartiges zu tun, damit ich das oder das der darunterliegenden Seite hinzufügen kann" - es funktioniert einfach nicht so, es gibt keine darunterliegenden Seiten. Anstelle von Seiten haben wir Inhaltsknoten in der Knotenstruktur (insbesondere Knoten in der Um die Startseite der Site zu erstellen, wechseln Sie zum Inhaltsbereich des CMS, klicken Sie mit der rechten Maustaste auf den Ordner Inhalt im linken oberen Bereich und wählen Sie Erstellen. Geben Sie im daraufhin angezeigten Dialogfeld als Name Home ein und wählen Sie als Dokumenttyp Homepage. Sobald wir die getroffen haben Der Homepage-Inhaltsknoten erbt auch eine Eigenschaft von Beide Die Medienbibliothek ist ein Repository für alle Medienressourcen wie Bilder, Videos, Audiodateien oder andere eingebettete Dateien oder Dokumente. Unsere Um ein Element zur Medienbibliothek hinzuzufügen, wählen Sie einfach das Einmal die Nun kann das Bild aufgenommen werden. Gehen Sie zurück zum Bild Das ist es; Sie haben Ihre erste Umbraco-Seite erstellt! Sie können die neue Seite anzeigen, indem Sie auf das Vorschausymbol (die Seite mit der Lupe) klicken, um sie im Vorschaumodus anzuzeigen, oder Sie können einfach eine neue Registerkarte in Ihrem Browser öffnen, die URL des Back-End kopieren, Fügen Sie ihn in die neue Registerkarte ein und entfernen Sie alles nach der Portnummer. Die Seite ist an dieser Stelle völlig unstilisiert, aber Sie sollten feststellen, dass der Intro-Text und das Bild, die wir im Backend eingestellt haben, zusammen mit der Markierung von der Seite auf der Seite angezeigt werden In diesem Teil des Lernprogramms haben wir die Funktionsweise von Umbraco-Vorlagen (sie repräsentieren .Net-Masterseiten) und deren Verschachtelung für eine maximale Wiederverwendung von Code beschrieben. Nachdem wir nun eine Seite erstellt haben, haben wir gesehen, wie die Dokumenttypen, Vorlagen und Knoten zusammenarbeiten, um die Eigenschaften zu erstellen, die wir im Backend bearbeiten können, und die Seiten, die unseren Besuchern angezeigt werden. Im nächsten Teil dieser Serie werden wir den Rest der Seiten für die Site erstellen und dann mit dem Schreiben des XSLT beginnen, das unter anderem die obere und untere Navigation sowie das Heldenpanel erstellt.
. Das Ich würde
für Styling-Zwecke und die
hat eine Ich würde
Attribut, damit es mit anderen Seiten gefüllt werden kann (oder Masterseiten
). Es hat auch die runat = "server"
Attribut, da es sich um ein vom Server gehandhabtes ASPX-Element handelt. Beachten Sie, dass einige unserer Elemente Klassennamen erhalten, wenn wir die Site am Ende der Serie gestalten. ein Element, das eine weitere Kopie der Navigation enthält (wiederum wird der HTML-Code in diesem Stadium hauptsächlich zum Zwecke der Gestaltung und als Beispiel dafür bereitgestellt, wie er beim Anzeigen der Seiten im Browser erscheinen wird) und eine Copyright-Erklärung. Die Copyright-Erklärung enthält einen kleinen Ausschnitt von
C #
; Dazu wird das aktuelle Jahr im 4-stelligen Standardformat ausgegeben, so dass immer das Jahr angezeigt wird, in dem die Seite angesehen wird. Schließlich führen wir einen Link zu der von Google-CDN gehosteten Version von jQuery, da wir dies benötigen, um unserer Website im letzten Teil der Serie etwas Verhalten hinzuzufügen.
Kodierung der Homepage
HomePage.master
Datei in VWD können wir sehen, dass es bereits verschachtelt wurde BasePage.master
(das BasePage.master
Datei wird als gesetzt MasterPageFile
in dem Meister
Deklaration am Anfang der Datei), müssen wir nur die ContentPlaceHolderID
des
Element so, dass es auf die zeigt
Element, das wir dem hinzugefügt haben BasePage.master
:
Element oben gezeigt:
Artikel
. Das erste Element, das wir verwenden, legt den Einleitungstext auf der Seite fest. Denken Sie daran, wir haben dies als eine Eigenschaft der definiert Startseite
Dokumenttyp in Teil 1 dieser Serie und legen Sie einen Datentyp von fest Rich-Text-Editor
. Das
Dieses Element in der Vorlage zeigt den Inhalt dessen an, was in den Rich-Text-Editor eingegeben wird, wenn wir einen Inhaltsknoten für die Startseite im Back-End erstellen.Medien
Abschnitt, in dem der gesamte Medieninhalt einer Website hochgeladen und gespeichert werden kann. Wie bei anderen Ressourcen für den Standort ist jedes Medienelement ein Knoten in der Knotenstruktur und erhält einen Namen, wenn das Medienelement dem CMS hinzugefügt wird.Element verwenden wir ein
ähnlich wie Einführungstext
, Wir müssen jedoch einen Code-Inline-XSLT-Code und ein paar HTML-Snippets verwenden, um den Pfad des Bildes in der Medienbibliothek zu erhalten. Das XSLT-Snippet verwendet das concat ()
Diese Methode akzeptiert ein durch Kommas getrenntes String-Array, das verkettet werden soll Element. Innerhalb dieses Arrays verwenden wir die HTML-Entitäten und Markierungen, um das Element manuell zu erstellen, und verwenden auch eine Funktion von
umbraco.library
Klasse. Die Funktion ist GetMedia
und ermöglicht es uns, den Pfad zum Magier in der Medienbibliothek abzurufen (es gibt einen passenden Ordner im Umbraco-Dateisystem, in dem alle Medienelemente gespeichert sind) umbracoFile
Eigenschaft und den Namen des Knotens mit @Knotenname
. Damit der obige Beispielcode korrekt angezeigt wird, musste ich \ Zeichen in die HTML-Entitäten einfügen. Entfernen Sie diese, wenn Sie sie kopieren und in Ihre eigenen Dateien einfügen.Ich würde
von Held
), ein #Zuschauer
und #Schieberegler
Elemente und eine einfache Benutzeroberfläche, die die Navigation der verschiedenen Inhaltsbereiche ermöglicht. Das #Schieberegler
Element enthält auch ein
Element, also werden wir diesen Teil des Helden-Panels mit einem XSLT-Makro erstellen, das wir in einem späteren Teil der Serie erstellen werden. Das Heldenpanel wird anfangs aus XSLT und dem hier gezeigten Markup erstellt und dann mit Skript bearbeitet.
Erstellen der Inhaltsvorlage
Inhalt
Dokumentenart. In der Masterpage-Datei ändern Sie die ContentPlaceHolderID
des
Element zu BaseContent
genau wie wir es für die Homepage getan haben:
Element:
weil der Artikel mit einem verknüpft ist Rich-Text-Editor
und könnte so viele verschiedene Arten von Inhalten enthalten.
Die Nachrichtenvorlagen
Inhalt
Template wie die Seite wird weitgehend dynamisch mit einem XSLT-Makro erstellt. Vergiss nicht, das zu aktualisieren ContenPlaceHolderID
zu BaseContent
wie wir es in unseren anderen Vorlagen haben und fügen Sie dem Platzhalter dann folgende Elemente hinzu:Aktuelle Nachrichten aus dem Unternehmen
Element, das die Hauptseitenüberschrift und das Makro enthält, aus dem die Nachrichtenliste besteht. Dies ist alles, was wir in dieser Vorlage brauchen, also gehen wir zum nächsten und letzten über. das
Nachricht
. Ändern Sie erneut die ContentPlaceHolderID
zu BaseContent
Fügen Sie dem Platzhalter dann den folgenden Code hinzu:
Nachricht
template ist etwas komplexer als die meisten anderen. Der Hauptcontainer für die Nachricht ist ein , die enthält a
für die Schlagzeile und einige Informationen über die Nachricht, wie z
Datum
und Autor
. Das Datum, das im ersten angezeigt wird , ist mit dem verbunden
Datumsauswahl
Dieses Feld wurde dem entsprechenden Dokumenttyp für diesen Seitentyp hinzugefügt. Wir setzen die formatAsDate
Attribut auf true, das das Datum stattdessen ohne eine hinzugefügte Zeitzeichenfolge formatiert. Das Autor
wird mit der erhalten creatorName
Eigenschaft, die Knoten (Seiten) automatisch hinzugefügt wird, wenn sie im Backend erstellt werden.newsImage
Feld (dies ist im Wesentlichen das gleiche wie das Bannerbild auf der Homepage, das auch eine Medienauswahl verwendet. Die HTML-Entitäten enthalten wiederum umgekehrte Schrägstriche, damit sie hier korrekt angezeigt werden) und a
verbunden mit dem newsText
Feld. Wir schaffen auch eine sekundäre Element, mit dem der Besucher direkt von der aktuellen Nachrichtenseite zu anderen Nachrichtenseiten navigieren kann, ohne zur Nachrichtenliste zurückkehren zu müssen. Dies wird aus einem Makro erstellt, das wir uns im nächsten Teil dieser Serie ansehen werden.
Seiten hinzufügen
Inhalt
Abschnitt des CMS-Backends) und Daten in der Datenbank. In der Datenbank sind einzelne URLs gespeichert, und jeder Knoten ist einer URL zugeordnet. Wenn also ein Besucher die Adresse einer Seite eingibt oder auf der Website navigiert, überprüft der CMS, welche URL angefordert wurde, und erstellt die Seite "on the fly" , unter Verwendung des Dokumenttyps und der Vorlage.
Erstellen
Durch Klicken auf die Schaltfläche im Dialog wird der neue Knoten erstellt und im oberen linken Bereich des CMS angezeigt. Rechts daneben wird ein kleiner orangefarbener Stern angezeigt. Dies zeigt an, dass der Knoten gespeichert, aber nicht veröffentlicht wurde. Im rechten Bereich des CMS sehen wir die Registerkarten und Felder, die wir im Dokumenttyp in Teil 1 definiert haben Inhalt
Die Registerkarte wird standardmäßig angezeigt, da es sich um die erste Registerkarte handelt. Die erste von uns definierte Eigenschaft war die Einführungstext
Eigenschaft, die direkt dem Textbereich am oberen Rand des Fensters zugeordnet wird Inhalt
Tab. Wir haben auch die definiert Bannerbild
Diese Eigenschaft wird direkt dem unter dem Textbereich angezeigten Steuerelement für die Medienauswahl zugeordnet.Basis Seite
Dokumenttyp -die Domänenname
- was auf der gesehen werden kann Eigenschaften
Tab. Gehe zum Eigenschaften
Tab jetzt. Es gibt mehrere wichtige Eigenschaften, die automatisch von Umbraco erstellt werden, einschließlich des Namens des Knotens. Hierbei handelt es sich um ein bearbeitbares Feld, sodass der Knotenname an jeder beliebigen Stelle leicht geändert werden kann Dokumentenart
und Vorlage
in Benutzung. Es gibt weitere nützliche Eigenschaften wie den Ersteller des Knotens und das Veröffentlichungsdatum. Eingeben Das Unternehmen
in dem Domänenname
Feld (dies kann das Format annehmen Das Unternehmen
, oder eine tatsächliche URL wie www.thecompany.com, es macht keinen Unterschied, da sie einfach für den Titel der Seite verwendet wird..Einführungstext
und das Bannerbild
sind obligatorische Eigenschaften, daher müssen beide ausgefüllt werden, bevor wir die Seite veröffentlichen können. Das Einführungstext
ist einfach; Wir fangen einfach an, den Textbereich einzugeben. Wir können einige grundlegende Formatierungen mit der Rich-Text-Editor
Schaltflächen oben auf der Registerkarte, aber im Wesentlichen vervollständigen wir diese Eigenschaft oder dieses Feld einfach durch Eingabe. Das Bannerbild
ist etwas (aber nicht viel mehr) komplex und um es abzuschließen, müssen wir kurz mit einem anderen Abschnitt des CMS arbeiten - der Medienbibliothek.
Die Medienbibliothek
Bannerbild
Feld für die Startseite
verwendet a Medienauswahl
, Steuerelement, das ein Dialogfeld öffnet, in dem die Medienbibliothek angezeigt wird, und dem Endadministrator der Website die visuelle Auswahl des gewünschten Bilds ermöglicht. Bevor dies jedoch geschehen kann, müssen Elemente in der Medienbibliothek ausgewählt werden, die ausgewählt werden können.Medien
Klicken Sie auf das Symbol in der unteren linken Leiste des Back-End und dann, wenn der Knoten des Medienabschnitts im oberen linken Abschnitt geladen wurde, klicken Sie mit der rechten Maustaste auf den Ordner Media und wählen Sie Erstellen
aus dem menü. Im erscheinenden Dialog können wir einen Namen für das Bild festlegen (denken Sie daran, dass der Name, den wir dem Knoten geben, im verwendet wird alt
Attribut des Bildes, wenn es auf der Startseite angezeigt wird), und wählen Sie die Option Medientyp
. Es gibt drei vordefinierte Typen, aus denen wir auswählen können. Ein Ordner, der nützlich sein kann, wenn wir viele verschiedene Medienelemente haben, die wir ordentlich kategorisieren und speichern möchten Datei
Typ oder Bild
, die wir in diesem Fall verwenden werden. Andere Medientypen können auf einfache Weise erstellt werden die Einstellungen
Sektion.Erstellen
Wenn Sie auf die Schaltfläche im Dialogfeld klicken, wird das neue Bildelement erstellt, und im rechten Bereich des Editors werden einige Eigenschaften angezeigt, darunter eine Schaltfläche zum Hochladen. Klicken Sie auf die Schaltfläche zum Hochladen, um die Datei von unserem Computer auszuwählen, die wir hochladen möchten (ich habe ein vorgefertigtes Bild auf meinem Desktop, das hochgeladen werden kann). Wenn Sie das hochzuladende Bild ausgewählt und auf das Symbol zum Speichern in der Symbolleiste oben im rechten Bereich geklickt haben, wird das Bild Teil der Medienbibliothek und wird als Knoten in der Medienknotenstruktur angezeigt. Eine Miniaturansicht für das Bild wird ebenfalls erstellt und im angezeigt Eigenschaften
Fenster rechts neben einigen Bildattributen:
Inhalt
Abschnitt und wählen Sie die Zuhause
Knoten, den wir zuvor erstellt haben. In dem Bannerbild
Feld unter dem Textbereich klicken Sie auf das wählen
Link, um die Auswahl zu öffnen, die in einem Dialog angezeigt wird. Drücke den Das Unternehmen tut dies!
Knoten im Picker und es wird in der gesetzt Banner imag
e Feld. Das Zuhause
node kann nun veröffentlicht werden. Klicken Sie daher auf das Symbol der Welt mit einer Diskette, um die Seite zu speichern und zu veröffentlichen.Home.master
und Basis Seite
Vorlagen. Das
Alle Elemente wurden aufgefüllt, aber alle
Elemente sind noch nicht gefüllt worden, da wir XSLT dafür schreiben müssen.
Zusammenfassung