Interner Link im Joomla-Template

Montag, 19. Januar 2009

Manchmal kann es notwendig sein, einen internen Link direkt ins Joomla Template einzufügen. Die naheliegendste Möglichkeit ist wohl, auf die entsprechende Seite im Browser zu gehen, die URL zu kopieren und im Template einzufügen. Allerdings kann sich der Name der Seite (und damit unter Umständen der Alias) ändern und das ergibt dann ungültige Links auf der Seite. Diese gilt es zu vermeiden.

Nun, die Lösung ist eigentlich ganz einfach und heißt JHTML::link(). Das ist die Funktion, die aus einer URL mit GET-Parametern eine schöne Joomla-URL macht.

Also, zuerst müssen wir den Link zusammenbauen:

Einen Artikel verlinken

Im Joomla-Backend auf die Beitragsübersicht gehen um die ID des Artikels herauszufinden (in der ganz rechten Spalte):

Die ID wird dann an den folgenden Link statt xyz angehängt.

index.php?option=com_content&view=article&id=xyz

Oft will man aber nicht auf den Beitrag, sondern auf einen bestimmten

Menüpunkt verlinken

Dazu geht man im Backend auf ein Menü, und wählt den entsprechenden Menüeintrag aus. In der Detailansicht sieht man dann die ID des Menüeintrags (Menü-Item), die man benötigt:

Auch hier wird die ID (in diesem Fall 54) an den Link angehängt:

index.php?Itemid=xyz

Ins Template einfügen

Nun muß der Link nur noch an der gewünschten Stelle ins Template eingefügt werden:

<?
echo JHTML::link('index.php?Itemid=xyz','Linktitel', $attribute);
?>

Mögliche HTML Attribute des Link-Tags können über das assoziative Array $attribute übergeben werden, z.B.:

<?
$attribute = array('class'=>'menulink', 'title'=>'Zum Menü');
echo JHTML::link('index.php?Itemid=xyz','Linktitel', $attribute);
?>

Die aktuelle Kalenderwoche anzeigen

Freitag, 16. Januar 2009

Ich habe momentan keinen Kalender in Papierform den ich die ganze Zeit mit mir herumschleppe. Hab ich nicht und brauch ich eigentlich nicht. Meine Termine und Vorhaben hab ich schön im Kopf, auf Post-Its, auf den Uni-Webseiten oder auf dem Standkalender auf meinem Schreibtisch.

Ich weiß, dass sollte ich ändern, aber das ist ein anderes Kapitel. Was ich damit eigentlich sagen möchte ist, dass ich, wann immer ich es mir helfen würde, nie die aktuelle Kalenderwoche weiß. Nie. Und der blöde Windows-Taskleiste-Kalender zeigt mir auch keine Kalenderwochen an. Blöd.

Also hab ich das getan, was wohl jeder machen würde, wenn er auf dieses Problem stößt: ich hab mir eine Domain registriert und ein kleines Service eingerichtet, tataaaa, hier ist es:

kalenderwoche.net


Ach ja: Kalenderwoche mit PHP berechen? Kein Problem:

<?php 
$kw_aktuell = (int)date('W');
?>