3.4.4 Metainfos

Die Metainfos wurden in dieser Form mit der Version 4 neu eingeführt. Metainfos bieten die Möglichkeit, für Artikel, Kategorien und Dateien im Medienpool eigene Attribute zu definieren und diese an beliebiger Stelle wieder auszulesen und zu verwerten.

Metainfos für Artikel

Artikel Metainfos erweitern

Die Grafik zeigt beispielhaft, wie die Metainfos für Artikel genutzt werden können. In der Demo wurden diese neun Metainfos für Artikel definiert. Wie bereits aus den Vorversionen bekannt, findet man diese Attribute bei den Metainformationen eines einzelnen Artikels wieder:

Metadaten/Sonstiges

Sieht erstmal nicht so wirklich neu aus. Die neuen Funktionen gehen aber weit über die bisherigen Möglichkeiten hinaus.

Metainfos Add

Neu ist, dass nun jeder seine eigenen Metainformationen definieren kann. Um beim Beispiel der Artikel-Metainformationen zu bleiben, klickt man hier auf das kleine Plus-Zeichen oben links.

Metainfos Eingabemaske

In der so aufgerufenen Maske kann man ein neues Attribut definieren und speichern.

Prefix: Jedes hier für Artikel festgelegte Attribut erhält das Präfix art_. Metainfos für Kategorien und Medien erhalten ihre eigenen Präfixe (cat_ bzw. med_).

Spaltenname: Für dieses Attribut wird in der Tabelle rex_article eine neue Spalte angelegt. Der Name dieser Spalte ergibt sich aus dem Präfix und dem hier vergebenen Spaltennamen. Hier zum Beispiel art_Thema.

Feldposition: Mit der Feldposition legt man fest, an welcher Stelle bei den Metadaten das neue Attribut erscheinen soll, hier “Am Anfang”.

Metainfos Feldtyp

Feldbezeichnung: Die Feldbezeichnung sieht man als Label zu dem neu definierten Attribut nach dem Speichern unter Metadaten/Sonstiges in der Einzelansicht eines Artikels.

Feldtyp: Durch Festlegung eines Feldtyps gibt man die Eingabe eines Attributwertes vor. Wählt man hier “select, radio oder checkbox”, erscheint eine kleine Erläuterung, wie die Werte angegeben werden sollen.

Metainfos

Feldattribute Durch Vergabe von Feldattributen kann man die Ausgabe in seinem Sinne stylen. Einzugeben sind hier HTML-Attribute, wie z.B. class=“myclass”, onlick=“alert('test');”, ..

Standardwert: Als Letztes kann man hier noch einen Standardwert für das neue Attribut vorgeben, der automatisch vergeben wird, falls dem Artikel kein spezifischer Wert zugewiesen wird.

Einem Artikel Werte zuweisen
Nach dem Speichern findet man dann die neue Metainformation unter Metadaten/Sonstiges in der Einzelansicht eines Artikels und kann dort für diesen Artikel einen Wert für das neue Attribut vergeben:

Was macht man jetzt damit?

Man kann also Metainfos definieren und den Artikeln Werte für diese Metainfos zuweisen. Wie arbeitet man dann mit diesen Werten?

Hier ist zwei ganz einfache Beispiele, die zeigen sollen, wie die Werte ermittelt und verwendet werden können:

<?php

// Selektion von Metainfos zu einem bestimmten Artikel, hier mit der Id 320: */
$article = OOArticle::getArticleById(320);

// Prüfen ob der Artikel überhaupt existiert
if($article)
{
$artikelname = $article->getName();
$artikel_tags = $article->getValue('art_tags');

echo $artikelname." , ".$artikel_tags."<br />";
}


/* Selektion von Metainfos zu dem aktuellen Artikel, z. B. bei Verwendung in einem Template */
$artikelThema=$this->getValue("art_thema");
echo $artikelThema;

?>

Dieses Prinzip funktioniert für alle Metainformationen.
Weitergehende Informationen können im Wiki nachgelesen werden (Verweis s. u.).

Metainfos für Kategorien

Metainfos Kategorien

Das Definieren von Metainfos für Kategorien funktioniert nach dem gleichen Prinzip wie bei den Artikeln beschrieben. Das neue Attribut wird in der Tabelle rex_article als neue Spalte angelegt

Sobald ein Atribut definiert wurde, erscheint es in der Liste der Metainfos für Kategorien.

Metainfos Kategorie hinzufügen

Hier sieht man, dass das Präfix für Kategorien cat_ lautet.

Die Zuweisung eines Wertes unterscheidet sich bei einer Kategorie von der eines Artikels.
Bei den Kategorien kann man beim Anlegen einer neuen Kategorie dieser einen Wert für ein vorab definiertes Attribut zuweisen. Zum Anzeigen der Metainfos für Kategorien klickt man auf das Pluszeichen rechts von dem Button “Kategorie hinzufügen”.

Metainfos Kategorie hinzufügen

Unterhalb des Eingabefeldes erscheinen nun alle Metainfos, die für Kategorien definiert wurden. In diesem Fall gibt es nur ein Attribut.

Wie bei den Artikeln bereits beschrieben, kann man hier einen Wert für das angezeigte Attribut eintragen. Will man später mal den Wert wieder ändern, geht man in den Editier-Modus (“Kategorie editieren/löschen”) der Kategorie und kann den Wert löschen oder ändern. So kann man auch nachträglich noch Kategorien mt Metainfos versehen, die beim Anlegen noch keine Werte erhalten hatten.

Der Zugriff auf diese Werte kann z. B. so erfolgen

/ Selektion von Metainfos zu einer bestimmten Kategorie, hier mit der Id 23 und der Sprachid 1: */

$category = OOCategory::getCategoryById(23, 1);
print $category->getValue('cat_nur_ein_test');


/* Selektion von Metainfos zu dem aktuellen Artikel, z. B. bei Verwendung in einem Template */

$testMetaKat=$this->getValue("cat_nur_ein_test");
echo $testMetaKat;

Metainfos für Medien

Metainfos Medien

Metainfos für Medien werden entsprechend wie Metainfos für Artikel definiert. Medien-Attribute werden in der Tabelle rex_file als neue Spalte angelegt.

In der Demo sind beispielhaft Attribute für die Beschreibung und für das Copyright festgelegt worden.

Metainfos Medienpool

Wenn man nun eine Datei im Medienpool aufruft, kann man dieser Datei eine Beschreibung und Angaben zum Copyright mit auf den Weg geben.

Der Zugriff auf diese Werte kann z. B. so erfolgen

// Zugrif in der Ausgabe eines Moduls

$testCopyright = '';
$media = OOMedia::getMediaByFileName("REX_FILE[1]");
// Prüfen ob das Medium überhaupt existiert
if($media)
{
$testCopyright = $media->getValue("med_copyright");
}

Metainfos zur Bearbeitung von Templates

Hier ein Beispiel von Thomas Blum aus dem Forum.
Wollen Sie ihre Seiten so aufbauen, dass Sie in manchen Artikeln nur eine Spalte und in anderen zwei Spalten verwenden wollen, geht das mit Hilfe der Metainfos.

Sie legen unter MetaInfo (Artikel) ein Select mit den Optionen 1-spaltig, 2-spaltig an. Dieses Merkmal muß dann bei den Artikeln entsprechend selektiert werden. Im Template selbst wird dann das Merkmal “ein- oder zweispaltig” abgefragt und danach ggf. eine weitere Spalte ergänzt.

$spalten = $this-getValue('art_bezeichnung');

//Ausgabe Ctype 1
print $this->getArticle(1);

//Ausgabe Ctype 2 nur, wenn Artikel 2-spaltig
if ($spalten == 2)
print $this->getArticle(2);

Metainfos im Wiki

Dieses Kapitel gibt nur einen kleinen Einblick in die Möglichkeiten der Metainfos. Weitere Informationen zum Umgang mit Metainfos findet ihr im Wiki:

Ideen zur Verwendung von Metainfos

Es wäre schön, wenn jeder, der eine gute Idee hat, was man mit Metainfos alles anstellen könnte, dies im Wiki veröffentlicht, so dass auch andere darauf zurückgreifen können.