>> Inhaltsverzeichnis >> Anleitung für Entwickler Funktionen

Sonstige Funktionen

Wie rufe ich eine Aktion eines anderen Plugins auf?

Zum Bearbeiten von Aktionen bietet YANA die Funktion $YANA->handle(), welche bei Erfolg bool(true) und sonst bool(false) zurück gibt.

<?php 
global $YANA;

/* Aktion "foo" aufrufen */
$bool $YANA->handle("foo"$parameter);
if ($bool) {
    print "Die Aktion 'foo' wurde erfolgreich ausgeführt.";
} else {
    print "Der Aufruf von 'foo' hat einen Fehler erzeugt.";
}
?>

Wie leere ich den Template-Cache des Servers?

Dies bewirkt, dass alle Dateien im Verzeichnis "cache/" des Frameworks gelöscht werden.

<?php 
global $YANA;

/* den Template-Cache des Servers leeren */
$YANA->handle("clear_server_cache", array());
?>

Wie erzeuge ich, z.Bsp. in einem Forum, eine Vorschau auf den Eintrag?

<!-- der folgende Eintrag im Template genügt: -->
<textarea id="eingabefeld" name="text"></textarea>
[%preview%]

Screenshot
Abbildung: Beispiel für die Darstellung im Browser

Wie erzeuge ich Microsummaries für Firefox 2.0 und höher?

"Microsummaries" sind "aktive Lesezeichen", dass heißt Links in den Bookmarks, deren Text sich dynamisch aktualisieren kann, wenn sich der Inhalt der Webseite ändert, auf die der Link verweist. Der Firefox-Browser bietet dem Nutzer automatisch die Verwendung von Microsummaries an, wenn dieser einen Bookmark einer Seite erzeugt, welche über dieses Feature verfügt.

Beispiele hierfür wären:

Weitere Varianten sind natürlich denkbar.

Microsummaries werden vom Yana Framework unterstützt. Sie werden mit Hilfe der Utility-Klasse "Microsummary" erzeugt. Im Folgenden einige Beispiele:

<?php 
/* in einem Plugin ein Mircosummary erzeugen */
Microsummary::set($this->name'Text des Links');

/* Bitte beachten:
 * der erste Parameter ist eine Id, welche den Eintrag
 * eindeutig identifiziert.
 * Hier wird $this->name als Id verwendet,
 * weil der Name eines Plugins eindeutig sein sollte.
 * Es ist natürlich auch möglich einen anderen Text zu wählen,
 * Zum Beispiel um mehrere verschiedene Einträge pro Plugin
 * zu erzeugen.
 */

/* in einem Plugin ein Mircosummary lesen */
$microsummary Microsummary::get($this->name);

/* in einem Plugin ein Mircosummary "veröffentlichen",
 * damit der Browser dieses beim Öffnen der Seite findet
 */
Microsummary::publish($this->name);

/* Aufruf der Microsummary im Browser */
index.php?action=get_microsummary&target=guestbook

/* Zum Testen muss die URL vervollständigt und im Browser in die Adresszeile eingegeben werden.
 * Das Argument "target" bezeichnet hier die Id der anzuzeigenden Microsummary.
 */
?>

Wie erzeuge ich RSS-Feeds?

"RSS-Feeds" sind elektronische, (meist) automatisch generierte und aktualisierte Verzeichnisse, welche verschiedene Informationen bereithalten können. Diese Verzeichnisse kann ein Besucher mit Programmen, die "RSS-Reader" genannt werden, lesen. In modernen Browsern ist diese Funktion bereits eingebaut, so dass der Besucher keine zusätzliche Software mehr benötigt.

Beispiele für RSS-Feeds:

Das Yana Framework unterstützt das Erzeugen von RSS-Feeds für Ihre Anwendungen. Dazu können Sie die für Sie vorbereiteten Klassen "RSS", bzw. "RSSitem" benutzen. Im Folgenden einige Beispiele.

<?php 
/* Um in einem Plugin einen RSS-Feed zu erzeugen, legen Sie eine neue Funktion an.
   (Den Namen bitte Ihren Wünschen entsprechend ändern, er muss eindeutig sein.) */
function mein_rss_feed($ARGS)
{
    $rss = new RSS();
    // einen Titel und Beschreibung festlegen
    $rss->title 'Max Muster\'s Neuigkeiten';
    $rss->description 'das ist mein RSS-Feed zu meiner Homepage';
    // einen Eintrag erzeugen
    $item = new RSSitem();
    $item->title '1. Eintrag';
    $item->link 'http://beliebige.url';
    $item->description 'Ein kurzer Text, welcher den Inhalt beschreibt, oder ein Textauszug.';
    // den Eintrag zum RSS-Feed hinzufügen
    $rss->addItem($item);
    // ein 2. Eintrag
    $item = new RSSitem();
    $item->title 'noch ein Eintrag';
    $item->link 'http://beliebige.andere.url';
    $item->description 'zweite Beschreibung';
    $rss->addItem($item);
    // so geben Sie den RSS-Feed an den Browser aus
    print utf8_encode($rss->toString());
    exit(0);
}

/* Sie können einen Link auf Ihren RSS-Feed in der Anwendung anzeigen lassen.
   Dazu benutzen Sie die Funktion RSS::publish() und den Namen der Funktion,
   welche Ihren RSS-Feed erzeugt.
   Tipp: Am Einfachsten ist es, den Link über den Konstruktor Ihres Plugins
   einzubinden.*/
function plugin_mein_test($name)
{
    RSS::publish('mein_rss_feed');
    // hier kann weiterer Quellcode folgen
}
?>

Autor: Thomas Meyer, www.yanaframework.net