Ab und zu ist es sehr schick, Joomla mit verschiedenen Templates bzw. Layouts zu betreiben. Dieses lässt sich sehr leicht über den in Joomla! integrierten Template-Manager realisieren, der es erlaubt bestimmten Bereichen ein eigenes Template zu zuweisen. Allerdings gibt es ab Joomla! 1.012 da ein kleines Problem.
Wird auf der Frontpage auf >>weiter lesen<< geklickt, so befindet man sich immer noch innerhalb des Frontpage-Modules und das Template, welches für die Section oder Bereich dieses Artikels ausgewählt worden ist, wird nicht angezeigt, sondern das Template, welches für die Frontpage gilt – was im übriegen ja eigentlich auch richtig ist, aber in diesem Falle eben nicht erwünscht.
Um diese Funktion nun zu erreichen, sind ein paar – kleinere – Eingriffe in den Source von Joomla! nötig:
Im Source der components/com_content/content.html.php – Zeile ~397 muss folgendes geändert werden:
$_Itemid = $Itemid;
ändern in
$_Itemid = $mainframe->getItemid( $rows[$i]->id, 0, 0 );
und dann in der selben Source Datei ungefähr bei Zeile ~ 556
$row->_Itemid = $Itemid;
ersetzen durch den folgenden Code
if ( $task != 'view' && $task != 'category' ) {
$row->_Itemid = $mainframe->getItemid( $row->id, 0, 0 );
} else {
// when viewing a content item, it is not necessary to calculate the Itemid
$row->_Itemid = $Itemid;
}
Jetzt wird das gewählte Layout auch für Artikel angezeogt, welche über die Frontpage Komponente angezeigt werden. Aber bitte darauf achten, dieser kleine Tip bezieht sich auf Joomla! Installationen > Version 1.012. Für Joomla 1.5x Versionen habe ich dieses noch nicht getestet, da ich bisher die Funktion von verschiedenen Templates nicht benötigt habe.