Movable Type Grundlagen / 2

05.03.2005

Ich möchte den Versuch unternehmen, die Grundlagen des Movable Type in einer kompakten Einführung zu beschreiben. Um diese verstehen zu können, müssen Sie noch nichts über das Movable Type wissen. Sie werden aber im Verlauf dieses Textes die wesentlichen Komponenten kennen lernen und hoffentlich einen guten Überblick erhalten

Vorlagen

Wir haben im ersten Teil gesehen, dass Einträge als Daten in einer Datenbank gespeichert werden. Dort wird nicht etwa das anzuzeigende HTML abgelegt. Vielmehr befinden sich dort die einzelnen Attribute eines Eintrags als Spalten einer Tabelle. Aber wie wird daraus denn nun HTML?

Im Movable Type gibt es eine Reihe von Vorlagen. Darin ist definiert, wie aus den in der Datenbank gespeicherten Information das HTML generiert werden soll. Die Vorlagen werden in einer eigenen Sprache formuliert, welche syntaktische Elemente des XML enthält (aber kein echtes XML ist).

Innerhalb der Vorlage können zwei unterschiedliche Komponenten vorkommen.

  • Zum einen kann sich dort normales HTML befinden. Dieses wird ohne Veränderung von dem Generator in die erzeugten Dateien übernommen.
  • Zum anderen können in den Vorlagen spezielle Movable Type Markierungen eingebaut werden. Diese führen dazu, dass auf die Datenbank zugegriffen wird und Attribute ausgelesen werden. Sie können aber auch eine einfache Ablaufsteuerung erledigen, über welche dann zum Beispiel Listen erzeugt werden können.

Wenn Sie Erfahrung mit der Anwendungsentwicklung im Internet haben, dann wird Ihnen diese Vorgehensweise völlig vertraut sein. Die Art und Weise, wie beispielsweise ASP-Seiten gestaltet werden, ist absolut identisch.

Machen wir vielleicht am besten zwei Beispiele, damit dieser sehr wichtige Punkt nicht zu abstrakt erscheint.

Beispiel "Liste von Einträgen"

Angenommen Sie wollen eine Liste von Einträgen erzeugen, wobei in einer Liste die Titel der Einträge ausgegeben werden sollen. Dann würden Sie wie folgt codieren.

<ul>
<MTEntries>
<li><$MTEntryTitle$></li>
</MTEntries>
</ul>

Sie sehen dort die normalen HTML-Tags »ul« und »li«zur Gestaltung einer Liste. Zusätzlich gibt es dort noch zwei Movable Type spezifische Tags, nämlich »MTEntries« und »MTEntryTitle«.

Das MTEntries ist ein so genanntes Container-Tag. Es markiert einen Bereich und schließt andere Teile des Quelltextes ein. Wenn dieses bei der Generierung vorgefunden wird, wird so etwas wie eine Schleife gestartet. Alles das, was sich innerhalb der Markierung befindet, wird für jeden Eintrag durchlaufen.

Das MTEntryTitle hingegen ist ein Tag, mit welchem auf ein Attribut eines Eintrags zugegriffen wird. Wie der Name es schon andeutet, wird hiermit der Titel eines Eintrags abgegriffen.

Letztendlich führen also die obigen Zeilen dazu, dass alle Einträge durchlaufen werden und der Titel jedes Eintrags als Listenelement ausgegeben wird.

Es könnte dann also sein, dass beim Durchlaufen der obigen Zeilen die folgende Ausgabe in die HTML-Datei generiert wird.

<ul>
<li>Am Anfang nichts als Probleme</li>
<li>Datensicherheit</li>
<li>Impressum</li>
<li>Verweisen Sie auf unser Weblog!</li>
</ul>

Beispiel "weiter"

Sie haben dies eventuell schon auf der Startseite eines Weblogs gesehen. Es werden die ersten Zeilen eines Eintrags aufgelistet. Dann steht dort ein "weiter lesen", welches ein Verweis auf den Langtext des Eintrags ist.

Schauen wir uns einmal an, wie wir dies im Movable Type umsetzen können.

<MTEntryBody>
<MTEntryIfExtended>
   <p class="extended">
      <a href="<$MTEntryPermalink$>">weiter lesen</a>
   </p>
</MTEntryIfExtended>

Das MTEntryBody ist der Platzhalter für denjenigen Text, welchen Sie im Feld Eintragstext erfasst haben. Das kann entweder der gesamte Text des Eintrags sein. Oder aber, wenn Sie einen Teil des Textes auch in dem Eingabefeld »erweiterter Text« eingetragen haben, eben nur der erste Teil des Textes.

Für den Fall, dass erweiterter Text erfasst wurde, greift die über das Tag MTEntryIfExtended formulierte Bedingung. Nur wenn diese wahr ist, wird der innere Teil eingebettet.

Innerhalb des Verweises wird als URL ein Movable Type Tag verwendet. Das MTEntryPermalink enthält die URL des aktuellen Eintrags.

Schauen wir uns noch an, was als Ausgabe generiert werden würde. Wenn der gesamte Text des Eintrags in dem Feld »Eintragstext« erfasst wurde, könnte sich folgende Ausgabe ergeben.

<p>Hier steht der gesamte Text des Eintrags.</p>

Und wenn der Text des Eintrags auf die Felder »Eintragstext« und »Eintragstext« aufgeteilt wurde, könnte sich die folgende Ausgabe ergeben.

<p>Hier steht erste Text des Eintrags.</p>
<p class="extended">
   <a href="http://www.movable-type-weblog.de/demo.html</a>
</p>

Vorlagentypen

Es gibt im Movable Type standardmäßig etwa 20 Vorlagen. Diese werden in vier unterschiedliche Gruppen eingeteilt.

  • Die Index-Vorlagen steuern das Aussehen der im vorigen Kapitel angesprochenen Index-Seiten. Darin wird üblicherweise eine Liste der letzten N Einträge geführt. In einem Weblog können durchaus mehrere Index-Vorlagen existieren. In meinem Movable Type Weblog gibt es die Startseite mit den letzten 10 Einträgen, eine einfache Liste aller Einträge und eine nach Kategorien gruppierte Liste der Einträge. Die beiden letzten Seiten sind übrigens über die Sitemap zu erreichen.
  • Die Archiv-Vorlagen steuern das Aussehen der ebenfalls im letzten Kapitel angesprochenen Archiv-Seiten. Das sind diejenigen Seiten, wo zum Beispiel die zu einem Monat oder einer Kategorie gehörenden Einträge aufgeführt werden.
  • Die Speziellen Vorlagen steuern das Aussehen einiger besonderer Seiten. Darüber wird zum Beispiel das Layout der Kommentarlisten oder der Kommentarvorschau definiert.
  • Die Vorlagenmodule geben Ihnen die Möglichkeit, eigene Vorlagen zu gestalten, welche in anderen Vorlagen wiederverwendet werden sollen. Immer dann, wenn Sie bemerken, dass Sie in zwei Vorlagen die gleiche Funktionalität benötigen, sollten Sie ein Vorlagenmodul entwerfen und dieses aus den anderen Vorlagen heraus einzubetten.

Fortsetzung folgt

Diese Einführung in das Movable Type besteht aus den folgenden drei Teilen.

Sie haben gerade den zweiten Teil gelesen.

mgs | 05.03.2005

Feedback erwünscht!

Wie fanden Sie den Eintrag? Interessant? Langweilig? Ich freue mich über Ihren Kommentar. Wenn Ihnen der Eintrag geholfen hat, setzen Sie doch einen Link auf http://www.movable-type-weblog.de/.

Bitte keinen Spam

Um das Weblog vor Spam zu schützen, wird das MT-Approval Plugin eingesetzt. Sie müssen einen neuen Kommentar zunächst in der Vorschau ansehen, bevor dieser auf dem Server gespeichert werden kann. Ferner wird ein Kommentar erst gesichtet, bevor er freigegeben wird. Näheres finden Sie in meinem Artikel Weblog Spamming Grundlagen, wo einige Schutzmaßnahmen skizziert werden.

Wenn Sie sich an TypeKey angemeldet haben, wird Ihr Kommentar automatisch freigegeben.

Neuen Kommentar schreiben

TypeKey wurde an dieser Stelle vorübergehend deaktiviert. Erstellen Sie Ihren Kommentar bitte ohne TypeKey oder melden Sie sich im Vorschau-Dialog an.




Angaben speichern (Cookie)?