Entwickler.PageLayout History

Hide minor edits - Show changes to markup

 
 
April 01, 2011, at 11:48 PM by tthelen -
Added lines 1-2:

(:redirect 'http://docs.studip.de/develop/Entwickler/PageLayout':)

 
 
February 10, 2011, at 05:20 PM by eludwig -
Changed line 44 from:
setTabNavigation($path)
Setzt den Pfad im Navigationsbaum, an dem die Reiternavigation startet. Es werden dann die beiden Ebenen unterhalb des angegebenen Navigationspunkts als Reiter (1. und 2. Ebene) angezeigt. Die Voreinstellung ist das jeweils aktive Element der Hauptnavigation. Ein explizites Setzen ist nur für Navigationskontexte mit Reiteranzeige notwendig, die an anderer Stelle als der Hauptnavigation eingebunden sind (wie z.B. das Impressum). Man kann auch die Anzeige der Reiternavigation ganz ausschalten, wenn man als NULL als $path übergibt.
Beispiel: (:source lang=php:)[@
to:
setTabNavigation($path)
Setzt den Pfad im Navigationsbaum, an dem die Reiternavigation startet. Es werden dann die beiden Ebenen unterhalb des angegebenen Navigationspunkts als Reiter (1. und 2. Ebene) angezeigt. Die Voreinstellung ist das jeweils aktive Element der Hauptnavigation. Ein explizites Setzen ist nur für Navigationskontexte mit Reiteranzeige notwendig, die an anderer Stelle als der Hauptnavigation eingebunden sind (wie z.B. das Impressum). Man kann auch die Anzeige der Reiternavigation ganz ausschalten, wenn man NULL als $path übergibt.
Beispiel: (:source lang=php:)[@
Changed lines 77-84 from:

allgemeine Layout-Einstellungen

to:

Darstellung von Meldungen

postMessage(MessageBox $message)
Veranlaßt das System, das angegebene MessageBox-Objekt bei nächster Gelegenheit anzuzeigen, d.h. bei der nächsten Ausgabe eines Layouts. Die Meldung bleibt so lange gespeichert, bis sie angezeigt wurde, auch über (ggf. mehrere) Redirects hinweg. Alte Seiten, die noch kein Layout verwenden, können auch keine Meldungen hierüber anzeigen.
Beispiel: (:source lang=php:)
PageLayout::postMessage(MessageBox::success('Eintrag gelöscht'));
clearMessages()
Löscht alle Meldungen, die zur Anzeige hinterlegt und noch nicht ausgegeben wurden.

Anzeige des Seitenkopfs

 
 
August 09, 2010, at 05:22 PM by eludwig -
Deleted line 46:
 
 
August 09, 2010, at 05:20 PM by eludwig -
Added lines 41-48:

Reiternavigation

setTabNavigation($path)
Setzt den Pfad im Navigationsbaum, an dem die Reiternavigation startet. Es werden dann die beiden Ebenen unterhalb des angegebenen Navigationspunkts als Reiter (1. und 2. Ebene) angezeigt. Die Voreinstellung ist das jeweils aktive Element der Hauptnavigation. Ein explizites Setzen ist nur für Navigationskontexte mit Reiteranzeige notwendig, die an anderer Stelle als der Hauptnavigation eingebunden sind (wie z.B. das Impressum). Man kann auch die Anzeige der Reiternavigation ganz ausschalten, wenn man als NULL als $path übergibt.
Beispiel: (:source lang=php:)
PageLayout::setTabNavigation('/links/siteinfo');
getTabNavigation()
Liefert die Reiternavigation zurück.
 
 
August 06, 2010, at 03:49 PM by eludwig -
Changed line 56 from:
              'title' => 'RSS', 'href' => '$feed_url));
to:
              'title' => 'RSS', 'href' => $feed_url));
Changed line 76 from:

Zum Abschluß noch ein kleines Beispiel aus einem Plugin:

to:

Zum Abschluß noch ein kleines Beispiel aus einem Plugin, das (u.a.) eine eigene CSS-Datei mitbringt:

 
 
July 21, 2010, at 01:31 PM by eludwig -
Added line 3:

(:toc:)

Changed lines 6-10 from:

PageLayout

Die Anpassung der HTML-Grundstruktur passiert über die neue Klasse PageLayout. Dazu bietet die Klasse eine Reihe statischer Methoden:

setTitle($title)
Setzt den aktuellen Seitentitel, sowohl für die Anzeige im Browserfester als auch in Stud.IP.
to:

Allgemeines

Alle Änderungen werden nun über die Klasse PageLayout vorgenommen. Die "alte" Vorgehensweise über das Setzen bestimmter globaler Variablen funktioniert für eine Übergangszeit weiterhin, sollte aber ab der Version 2.0 nicht mehr verwendet werden. Das betrifft die Variablen:

  • $CURRENT_PAGE
  • $HELP_KEYWORD
  • $_NOHEADER
  • $_html_head_title
  • $_include_additional_header
  • $_include_additional_html
  • $_include_extra_stylesheet
  • $_include_stylesheet

Einige (selten verwendete) Variablen werden bereits ab der Version 2.0 gar nicht mehr unterstützt:

  • $body_class
  • $body_id

Die Klasse PageLayout

Die Anpassung der HTML-Grundstruktur passiert über die neue Klasse PageLayout. Dazu bietet die Klasse eine Reihe statischer Methoden, die die verschiedenen Möglichkeiten abdecken.

Seitentitel

setTitle($title)
Setzt den aktuellen Seitentitel, sowohl für die Anzeige im Browserfester als auch in Stud.IP.
Beispiel: (:source lang=php:)
PageLayout::setTitle(_('Startseite'));
Changed lines 35-39 from:
setHelpKeyword($help_keyword)
Setzt das Hilfe-Thema für die angezeigte Seite. Dieses wird dann beim Aufruf der Hilfe-Funktion an den Hilfe-Server übermittelt.
to:

Hilfe

setHelpKeyword($help_keyword)
Setzt das Hilfe-Thema für die angezeigte Seite. Dieses wird dann beim Aufruf der Hilfe-Funktion an den Hilfe-Server übermittelt.
Beispiel: (:source lang=php:)
PageLayout::setHelpKeyword('Basis.Startseite');
Added lines 42-43:

Hinzugügen von Inhalten

Changed lines 58-61 from:
to:
addBodyElements($html)
Fügt ein beliebiges HTML-Fragment direkt zu Beginn des BODY in die Seitenausgabe ein. Das ist vor allem in Plugins verwendbar, die Inhalte auf beliebigen Stud.IP-Seiten ausgeben wollen.

Entfernen von Inhalten

Changed lines 70-72 from:
addBodyElements($html)
Fügt ein beliebiges HTML-Fragment direkt zu Beginn des BODY in die Seitenausgabe ein. Das ist vor allem in Plugins verwendbar, die Inhalte auf beliebigen Stud.IP-Seiten ausgeben wollen.
disableHeader()
Unterdrückt die Anzeige des Seitenkopfs mit dem Navigationsbereich, z.B. für eine Druckansicht (die sollte aber besser mit einem Print-Style-Sheet gelöst werden) oder ein Popup-Fenster.
to:

allgemeine Layout-Einstellungen

disableHeader()
Unterdrückt die Anzeige des Seitenkopfs mit dem Navigationsbereich, z.B. für eine Druckansicht (die sollte aber besser mit einem Print-Style-Sheet gelöst werden) oder ein Popup-Fenster.

Beispiel

Zum Abschluß noch ein kleines Beispiel aus einem Plugin:

(:source lang=php:)
PageLayout::setTitle('Neueste Aktivitäten');
PageLayout::setHelpKeyword('Plugins.Activities');
PageLayout::addStylesheet($this->getPluginURL() . '/css/activities.css');
 
 
July 21, 2010, at 12:47 PM by eludwig -
Added lines 1-40:

Anpassungen an der HTML-Struktur der Ausgabe

Mit der Version 2.0 steht eine neue API in Stud.IP zur Verfügung, mit der verschiedene Anpassungen an der HTML-Grundstruktur der Ausgabe möglich sind. Das umfaßt einfache Dinge wie das Setzen des Seitentitels, ermöglicht aber auch das Hinzufügen oder Entfernen von HTML-Elementen im HEAD-Bereich der Seite, um beispielsweise eigene Style-Sheets oder JavaScipt-Dateien einbinden zu können.

PageLayout

Die Anpassung der HTML-Grundstruktur passiert über die neue Klasse PageLayout. Dazu bietet die Klasse eine Reihe statischer Methoden:

setTitle($title)
Setzt den aktuellen Seitentitel, sowohl für die Anzeige im Browserfester als auch in Stud.IP.
getTitle()
Liefert den aktuellen Seitentitel zurück.
setHelpKeyword($help_keyword)
Setzt das Hilfe-Thema für die angezeigte Seite. Dieses wird dann beim Aufruf der Hilfe-Funktion an den Hilfe-Server übermittelt.
getHelpKeyword()
Liefert das eingestellte Hilfe-Thema zurück.
addStyle($content)
Fügt eine neues CSS STYLE-Element in den Seitenkopf ein.
Beispiel: (:source lang=php:)
PageLayout::addStyle('#highlight { background-color: red; }');
addStylesheet($source, $attributes = array())
Fügt einen Verweis auf ein Style-Sheet in den Seitenkopf ein. $source kann entweder eine komplette URL oder ein Dateiname sein, der relativ zum Assets-Verzeichnis aufgelöst wird. Optional können weitere Attribute für das LINK-Element übergeben werden.
Beispiel: (:source lang=php:)
PageLayout::addStylesheet('print.css', array('media' => 'print'));
addScript($source)
Bindet eine weitere JavaScript-Datei in den Seitenkopf ein. $source kann entweder eine komplette URL oder ein Dateiname sein, der relativ zum Assets-Verzeichnis aufgelöst wird.
Beispiel: (:source lang=php:)
PageLayout::addScript($this->getPluginURL() . '/vote.js');
addHeadElement($name, $attributes = array(), $content = NULL)
Fügt eine beliebiges HTML-Element in den Seitenkopf ein. $name, $attributes und $content entsprechen den Namen, der Attributliste und dem Inhalt des erzeugten Elements. Ist $content NULL, so wird das Element nicht abgeschlossen (wie META oder LINK), andernfalls wird automatisch auch ein schließendes Tag hinter dem Inhalt ausgegeben (z.B. bei SCRIPT).
Beispiel: (:source lang=php:)
PageLayout::addHeadElement('link',
        array('rel' => 'alternate', 'type' => 'application/rss+xml',
              'title' => 'RSS', 'href' => '$feed_url));
removeStylesheet($source, $attributes = array())
Entfernt einen Verweis auf ein Style-Sheet wieder aus dem Seitenkopf. $source kann wie bei addStylesheet entweder eine komplette URL oder ein Dateiname sein, der relativ zum Assets-Verzeichnis aufgelöst wird.
Beispiel: (:source lang=php:)
PageLayout::removeStylesheet('style.css');
removeScript($source)
Entfernt eine eingebundene JavaScript-Datei wieder aus dem Seitenkopf. $source kann wie bei addScript entweder eine komplette URL oder ein Dateiname sein, der relativ zum Assets-Verzeichnis aufgelöst wird.
removeHeadElement($name, $attributes = array())
Entfernt alle Elemente mit dem angegebenen Namen und den Attributen wieder aus dem Seitenkopf.
Beispiel: (:source lang=php:)
PageLayout::removeHeadElement('link', array('rel' => 'stylesheet'));  // remove all style sheets
addBodyElements($html)
Fügt ein beliebiges HTML-Fragment direkt zu Beginn des BODY in die Seitenausgabe ein. Das ist vor allem in Plugins verwendbar, die Inhalte auf beliebigen Stud.IP-Seiten ausgeben wollen.
disableHeader()
Unterdrückt die Anzeige des Seitenkopfs mit dem Navigationsbereich, z.B. für eine Druckansicht (die sollte aber besser mit einem Print-Style-Sheet gelöst werden) oder ein Popup-Fenster.

 

 

Source: Basis-Wiki-Hilfe | Last change: April 01, 2011, at 11:48 PM, tthelen | Local view: Basis-Hilfe