Joomla! Programmierung/Programmierung/Templates/Template J15/index.php
Inhaltsverzeichnis |
[Bearbeiten] Quellcode
<?php /** * @version $Id$ * @package Joomla! * @copyright Copyright (C) 2009 Joomla!-nafu. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See COPYRIGHT.php for copyright notices and details. */ // Verhindern, dass diese php-Datei direkt aufgerufen wird defined('_JEXEC') or die('Restricted access'); ?> <?php echo '<?xml version="1.0" encoding="utf-8"?'.'>'; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" > <head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" /> </head> <body> <div id="container"> <div id="header"> <h1 class="sitename"> <?php if ($this->params->get('title')) { echo $this->params->get('title'); } else { echo $mainframe->getCfg('sitename'); //Seitenname ausgeben } ?> </h1> </div> <div id="main"> <div id="links"> <jdoc:include type="modules" name="left" style="xhtml" /> </div> <div id="content"> <?php // Das Error Div wird nur eingebunden, wenn eine Nachricht existiert if ($this->getBuffer('message')) : ?> <div class="error"> <h2><?php echo JText::_('Message'); ?></h2> <jdoc:include type="message" /> </div> <?php endif; ?> <jdoc:include type="component" /> </div> // Dieses Div wird nur eingebunden, wenn Module mit der Position right vorhanden sind <?php if ($this->countModules( 'right' )) : ?> <div id="rechts"> <jdoc:include type="modules" name="right" style="xhtml" /> </div> <?php endif; ?> // Diese Module werden nur nach einem Login angezeigt <?php $user = &JFactory::getUser(); $userid = $user->get('id'); If ($userid > 0) : ?> <jdoc:include type="modules" name="user2" style="xhtml" /> // ansonsten werden dieses Module angezeigt <?php else : ?> <jdoc:include type="modules" name="user3" style="xhtml" /> <?php endif ?> </div> </div> </body> </html>
[Bearbeiten] Beschreibung
[Bearbeiten] 'defined('_JEXEC') or ...'
Die Konstante '_JEXEC' wird hier dazu verwendet, den direkten Aufruf der php-Datei zu verhindern. Ohne diese Befehlszeile könnte ein Benuzer, der den Pfad zu der Datei kennt, sich das Dokument ohne Template anzeigen lassen.
[Bearbeiten] jdoc:include
Mit dem Tag <jdoc:include> können die Positionen der Ausgabetypen definiert werden. Aktuell gibt es vier verschiedene Typen.
[Bearbeiten] head
Mit <jdoc:include type="head" /> werden alle im Head üblichen Daten ausgegeben. Darunter fallen: Meta-Angaben, Titel, Stylesheets, Javascripte und andere Daten.
[Bearbeiten] Referenz
[Bearbeiten] component
Mit <jdoc:include type="component" /> wird der Inhalt der aktuellen Komponente (= Beiträge) ausgegeben.
[Bearbeiten] module
Mit <jdoc:include type="module" name="modulname" title="Modultitel" style="xhtml" /> wird ein bestimmtes Modul (mod_modulname) geladen. Dieses Modul muss natürlich in Joomla! installiert sein.
[Bearbeiten] title
Mit dem Parameter "title" kann ein speziell im Backend eingerichtetes Modul mit den zugehörigen Titel geladen werden.
[Bearbeiten] style
Mit dem Parameter style wird die Ausgabe des Moduls bestimmt.
- Weitere Informationen: Module Chrome
- Weitere Informationen: modules.php
[Bearbeiten] modules
Mit <jdoc:include type="modules" name="menu" style="xhtml" /> werden die Module mit der Modulposition menu geladen und ausgegeben.
In Joomla!1.5.xx werden Positionen wie footer, left, main, menue, neues, right, Footer, user1, user2, user3 und user4 verwendet.
In Joomla!1.6.xx lauten sie oft position-0, position-2, position-3 usw.
[Bearbeiten] style
Mit dem Parameter style wird die Ausgabe des Moduls bestimmt.
- Weitere Informationen: Module Chrome
- Weitere Informationen: modules.php
[Bearbeiten] message
Mit <jdoc:include type="message" /> werden Systemnachrichten und Fehlermeldungen ausgegeben.
[Bearbeiten] Parameter
In jedem Template ist automatisch das Objekt $params verfügbar. Diese enthält alle in der templateDetails.xml definierten Parameter. Diese können mittels der Methode get() abgefragt werden.