Einleitung

Alle Bilder, JavaScript- und Stylesheet-Dateien von Stud.IP liegen in einem gemeinsamen Verzeichnis public/assets (siehe zum Beispiel: http://develop.studip.de/trac/browser/trunk/public/assets)

Ausserdem exisitiert die Konfigurationsvariable $GLOBALS['ASSETS_URL'], die eine URI zu diesem Verzeichnis enthält. Standardmässig verweist diese auf das relativ zur jeweiligen Stud.IP-URI gelegene Verzeichnis assets.

Beispiel: Ein Stud.IP liegt unter https://www.meinstudip.de, dann liegt das Assets-Verzeichnis standardmässig unter https://www.meinstudip.de/assets.

Zweck dieser Übung ist, statische Inhalte von anderen Servern ausliefern zu können, um so die eigentlichen Webserver zu entlasten. Ein speziell eingerichteter Assets-Webserver ist viel effizienter in der Auslieferung der statischen Inhalte, als das der normale Webserver könnte.

Einrichten eines speziellen Assets-Webservers

Vorraussetzung ist ein bereits vorhandener Webserver, der als Assets-Webserver dienen kann. In dieser Hinsicht ist lighttpd sehr zu empfehlen. Kopieren Sie nun einfach das komplette assets-Verzeichnis in Ihren Webbereich und notieren Sie sich die URI für dieses Verzeichnis. In Ihrer Stud.IP-Installation öffnen Sie die Konfigurationsdatei config/config_local.inc.php und suchen Sie dort nach dem Text $ASSETS_URL = $ABSOLUTE_URI_STUDIP . 'assets/';, den Sie dann in die oben notierte URI ändern müssen. '''Achten Sie darauf, dass die $ASSETS_URL mit einemn Slash enden muss.

Verwendung der Klasse Assets

Um Bilder, JavaScripts usw., die sich im Assets-Verzeichnis befinden, im HTML-Markup ansprechen zu können, bestünde selbstverständlich die Möglichkeit, direkt die globale Variable $ASSETS_URL zu verwenden. Einfacher geht es aber mit der Klasse Assets. Deren Verwendung soll hier kurz dargestellt werden.

echo Assets::img('blank.gif'); gibt einen kompletten Image-Tag aus:

[[- <img alt="Blank" src="assets/images/blank.gif" /> -]]

Will man das alt-Attribut ändern oder weitere Attribute hinzufügen, kann man einfach als zweiten Parameter ein Array von Attribut => Attributwerten hinzufügen:

[[- echo Assets::img('blank.gif', array('alt' => 'nothing here', 'class' => 'some_class')); <img alt="nothing here" class="some_class" src="assets/images/blank.gif" /> -]]

 

 

Quelle: Basis-Wiki-Hilfe | Letzte Änderung: 26.02.2008 16:53 Uhr, mlunzena | Local view: Basis-Hilfe