Benutzerdefinierte Felder

Verfasst von Hagen Graf am 22. November 2010 - 12:55

In Drupal gibt es unterschiedliche Inhaltstypen, die Möglichkeit zusätzliche Felder zu diesen hinzuzufügen und einen Reportgenerator um alles wieder auszugeben. In Joomla! spriessen die Content Constructions Kits aus dem Boden. Worum geht es dabei eigentlich und was hat Wordpress zu diesem Thema zu bieten?

Jedes CMS verwaltet Inhalte. Diese Inhalte bestehen meistens aus Seiten, die wiederum aus einem Titel und einem Text bestehen, sowie anderen Inhalten oder Attributen, die benötigt werden um diese Seiten zu erstellen und zu verwalten. Ich denke da an Benutzer, Berechtigungen und Kategorien. Solange es bei den Seiten um Texte geht, ist alles überschaubar und einfach. Was macht man aber bei strukturierten Daten wie beispielsweise einem Auto, einem PC, einem Event, einem Ort, einer Pressemeldung und anderen Dingen? Diese Inhalte haben ausser Titel und Text meist noch weitere Felder (Preis, Datum, Postleitzahl, etc).

Wordpress bietet benutzerdefinierte Felder zu einem Artikel an. Haben Sie bestimmt schon mal gesehen aber nicht weiter erforscht. Der Mechanismus, der dahinter steht ist einfach. Sie definieren ein Feld und einen Wert. Nach dem erstmaligen Ausfüllen des Feldes ist es vorhanden und kann auch in anderen Artikeln ausgewählt werden (Abbildung 1).

Benutzerdefinierte Felder 1

Abbildung 1: Benutzerdefinierte Felder in Wordpress

Soweit, so gut - Was haben wir jetzt gekonnt?

Wir haben zu einem Artikel Meta Daten hinzugefügt, also Daten über Daten. Der Ansatz ist logisch aber etwas abstrakt, denn leider sieht man unser neues Feld nicht auf der Website.

Wie können wir es auf der Website sichtbar machen?

Dazu müssen wir uns in die Tiefen des Themes begeben und ein wenig programmieren (Abbildung 2). Klicken Sie im Adminbereich auf Design -> Editor -> Einzelner Artikel. Sie landen im Quellcode der für die Darstellung eines Artikels auf Ihrer Website zuständig ist. Suchen Sie nach

<?php the_content(); ?>

und fügen Sie danach eine Leerzeile ein. Dort kopieren Sie den folgenden PHP Ausdruck hinein:

<?php the_meta(); ?>

Benutzerdefinierte Felder 2

Abbildung 2: Code bearbeitung

und speichern. Ihr Artikel sieht auf der Webseite nun aus wie in Abbildung 3.

Benutzerdefinierte Felder 3

Abbildung 3: Artikel mit benutzerdefinierten Feldern

Mit dieser einfachen Änderung können Sie alle zusätzlichen Felder sehen. Das ist natürlich zunächst mal schick, aber der Sinn der Funktion erschliesst sich doch nicht wirklich.

Also mal ein anderes Beispiel:
Immer wenn im Wert von Feld 1 huhu steht, soll eine Nachricht unter dem Artikel erscheinen. Löschen Sie

<?php the_meta(); ?>

wieder und fügen stattdessen den folgenden Code ein:

&lt;?php if(get_post_meta($post-&gt;ID, 'Feld1', true) == 'huhu') : ?&gt;<br>
Das ist die Nachricht, die hier steht wenn im Feld 1 der Wert huhu steht<br>
&lt;?php endif; ?&gt;

Ihr Artikel sieht nun folgendermassen aus wie in Abbildung 4

Benutzerdefinierte Felder 4

Abbildung 4: Artikel mit Nachricht gesteuert über Feld

Auch gut, aber der Zweck erschliesst sich immer noch nicht?

Beispiele

  • Bild Anhang 1: Erstellen Sie ein Flickr Feld, geben als Wert die ID des Bildes ein und formatieren es im Theme
  • Bild Anhang 2: Erstellen Sie ein Bildfeld und geben als Wert den URL den Bildes ein. Formatieren Sie im Theme das Bild
  • Ein Banner: Erstellen Sie ein Feld banner und geben als Wert ja ein. Formatieren sie im Theme den Banner code wenn ja als Wert ausgewählt wird.
  • ...

Es gibt tausend weitere Möglichkeiten, die auch von zahlreichen WordPress Plugins genutzt werden.

In Drupal gibt es unterschiedliche Inhaltstypen, die Möglichkeit zusätzliche Felder zu diesen hinzuzufügen und einen Reportgenerator um alles wieder auszugeben. In Joomla! spriessen die Content Constructions Kits aus dem Boden. Worum geht es dabei eigentlich und was hat Wordpress zu diesem Thema zu bieten?

0 Kommentare

Kommentar hinzufügen

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br><pre>
  • Zeilen und Absätze werden automatisch erzeugt.

Weitere Informationen über Formatierungsoptionen