Einbinden von Stylesheets
<?php JFactory::getDocument()->addStyleSheet($this->baseurl . '/templates/' .$this->template .'/css/template.css'); ?>
Einbinden des Seitentitels
<?php echo JFactory::getConfig()-> get('sitename'); ?>
Einbinden eines Fotos
<img src="/<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/images/foto.jpg"/>
Hauptmenü der Modul position-1 zuordnen
<jdoc:include type="modules" name="position-1" />
Suche der Modul position-0 zuordnen
<jdoc:include type="modules" name="position-0" />
Einbinden der Beiträge von Joomla!
<jdoc:include type="component" />
Joomla! Systemmeldungen ausgeben
<jdoc:include type="message" />
Module der position-7 zuordnen
<jdoc:include type="modules" name="position-7" style="html5"/>
Copyright einbinden
<small> © <?php echo date('Y'); ?> <?php echo JFactory::getConfig() ->get('sitename'); ?></small>
Sprache einbinden
<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
Mit Bootstrap lassen sich vorgefertigte Stylesheets einbinden.
Einbinden und laden von Bootstrap
<?phpJHtml::_('bootstrap.framework');JHtml::_('bootstrap.loadcss', true, $this->direction);?>
Codes für die templateDetails.xml -> die templateDetails.xml bindet z.B. die Dateien, Ordner und Positionen für das Template ein.
Außerdem enthält sie Namen, Version, Beschreibung usw. des Templates.
Einbinden der Template Informationen
<name>EasyTemplate</name><version>1.0</version><creationDate>17.05.2017</creationDate><author>SYSOPONLINE</author><authorEmail><authorUrl>http://www.sysop-online.de</authorUrl><copyright>Copyright (C) 2017 SYSOPONLINE. All rights reserved.</copyright><license>http://www.gnu.org/licenses/gpl.html GNU/GPL</license><description>EasyTemplate für einfache Webseiten mit Joomla!</description>
Definiert Files und Folder für das Template
<files><filename>index.php</filename><filename>templateDetails.xml</filename><folder>images</folder><folder>css</folder></files>
Definierte Positionen für das Template
<positionen><position>position-0</position><position>position-1</position><position>position-7</position></positionen>
Einbinden der Zeichencodierung utf-8
<?xml version="1.0" encoding="utf-8"?>
Einbinden der Joomla! Tags
<!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "https://www.joomla.org/xml/dtd/2.5/template-install.dtd"><extension version="3.1" type="template" client="site">
Sprachdateien einbinden
<language folder="language"> <language tag="de-DE">de-DE/de_DE.tpl.easytemplate.ini</language> <language tag="en-GB">en-GB/en_GB.tpl.easytemplate.ini</language> </language>
Media Querys: Mit einem Media Query kann man gezielt Stylesheets steuern. Oft wird diese Funtkion verwendet um auf verschiedene Größen von Displays reagieren zu können.
Erst ab 960px werden gewisse Stylesheets beachtet
@media only screen and (min-width: 960px) {
Fehlerseite ausgeben
PHP Script um eine Fehlerseite mittels error.php auszugeben. Zusätzlich ein Button womit man zurück auf die Hauptseite kommt.
<?php echo htmlspecialchars($this->error->getMessage(), ENT_QUOTES, 'UTF-8'); ?> (<?php echo $this->error->getCode(); ?>)<br><br><br><a href="/<?php echo $this->baseurl; ?>/index.php"><?php echo JText::_('JERROR_LAYOUT_GO_TO_THE_HOME_PAGE'); ?></a>
PHP Script um den aktuellen Benutzer auszulesen und ihn mittels Willkommen und den ausgelesenen Namen zu begrüßen.
weitere Informationen unter: https://api.joomla.org/
<?php $benutzer = JFactory::getUser(); $benutzer_id = $benutzer->get('id'); if($benutzer_id){ echo 'Willkommen'; echo $benutzer->get('name'); } ?>
Module auslesen und den Contentbereich (Beitrag) auf 100% anpassen.
Auslesen der Module in der rechten Spalte (Position rechts) und in die Variable "anzahl" speichern
<?php $anzahl=$this->countModules('rechts'); ?>
Wenn die Module an der Position rechts 0 ergeben wird aus Klasse "beitrag" die Klasse "beitragfull"
class="beitrag<?php if($anzahl ==0) echo 'full'; ?>"> <jdoc:include type="message" /> <jdoc:include type="component" />
Falls die Anzahl der Module in Position "rechts" 0 ergibt wird die Seitenleiste ausgeblendet
<?php if ($anzahl >0) : ?> <div class="seitenleiste"> <jdoc:include type="modules" name="rechts" style="html5"/></div> <?php endif ?>
Den Bereich des Beitrags in der template.css auf 100% anpassen wenn rechts keine Module eingeblendet sind.
.beitragfull{float:left;width:100%; }
Stylesheets für die Fehlerseite einbinden
<link rel="stylesheet"href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template; ?>/css/template.css"type="text/css" />
Informationen auf der Fehlerseiten.
Die angeforderte Seite konnte nicht gefunden werden!
Während der Anfrage ist ein Fehler aufgetreten!
Die Seite kann nicht angezeigt werden, weil:
- Sie ein veraltetes Lesezeichen aufgerufen haben.
- Sie eine falsche Adresse aufgerufen haben.
- Sie über eine Suchmaschine einen veralteten Index dieser Webseite aufgerufen haben.
- Sie keinen Zugriff auf diese Seite haben.
<p><?php echo JText::_('JERROR_LAYOUT_PAGE_NOT_FOUND'); ?></p><p><?php echo JText::_('JERROR_LAYOUT_ERROR_HAS_OCCURRED_WHILE_PROCESSING_YOUR_REQUEST'); ?></p><p><?php echo JText::_('JERROR_LAYOUT_NOT_ABLE_TO_VISIT'); ?></p>
<ul>
<li><?php echo JText::_('JERROR_LAYOUT_AN_OUT_OF_DATE_BOOKMARK_FAVOURITE'); ?></li><li><?php echo JText::_('JERROR_LAYOUT_MIS_TYPED_ADDRESS'); ?></li><li><?php echo JText::_('JERROR_LAYOUT_SEARCH_ENGINE_OUT_OF_DATE_LISTING'); ?></li><li><?php echo JText::_('JERROR_LAYOUT_YOU_HAVE_NO_ACCESS_TO_THIS_PAGE'); ?></li>
</ul>
Eingabemasken für das Backend definieren

Eingabemasken im Backend unter Erweitert definieren
<config> <fields name="params"> <fieldset name="advanced">
<field name="untertitel" type="text" default="EasyTemplate" label="Untertitel der Webseite" description="Geben Sie hier bitte den Untertitel ein." filter="string" />
</fieldset> </fields> </config>
Auslesen des Untertitel aus dem Backend und im Frontend wieder ausgeben.
<?php echo htmlspecialchars$this->params->get('untertitel')); ?>
Ausklappliste (Drop-down-Box) erstellen
<config><field name="farbe" type="list" default="grau"label="Farbe wählen:"description="Bitte wählen Sie eine Farbe aus" > <option value="rot">Rot</option> <option value="grau">Grau</option> </field> </fieldset> </fields> </config>
Einbinden der StyleSheets entweder template.css oder templaterot.css
<?php if ($this->direction == 'rtl') { JFactory::getDocument()->addStyleSheet($this->baseurl . '/templates/' .$this->template .'/css/template_rtl.css'); } else { $farbe = $this->params->get('farbe'); if($farbe=='grau') { JFactory::getDocument()->addStyleSheet($this->baseurl . '/templates/' .$this->template .'/css/template.css'); } else { JFactory::getDocument()->addStyleSheet($this->baseurl . '/templates/' .$this->template .'/css/templaterot.css'); } } ?>
Checkbox im Backend erstellen
<field name="titelanzeigen" type="checkbox" label="Untertitel anzeigen?" description="Soll der Untertitel angezeigt werden?" />
Überprüfen ob die Checkbox ausgewählt ist und dann den Untertitel der Webseite ausgeben
<?php if($this->params->get('titelanzeigen') == 1): ?> <p><?php echo htmlspecialchars ($this->params->get('untertitel')); ?></p> <?php endif; ?>
Radio Buttons im Backend erstellen
<field name="titelalternative" type="radio" default="0" label="Untertitel anzeigen?" description="Soll der Untertitel angezeigt werden?"> <option value="0">Nein</option> <option value="1">Ja</option> </field>
Überprüfen ob der Radiobutton ausgewählt ist und dann den Untertitel der Webseite ausgeben
<?php if($this->params->get('titelalternative) == 1): ?> <p><?php echo htmlspecialchars ($this->params->get('untertitel')); ?></p> <?php endif; ?>
Auswahlmöglichkeit im Backend für ein Bild erstellen (type="media")
<field name="bild" type="media" label="Bild auswählen" description="Wählen Sie ein Bild aus" />
gewähltes Bild im Backend anzeigen, falls keines ausgewählt ist wird das Standartbild angezeigt
<?php if($this->params->get('bild')) { echo '<img src="' .$this->baseurl .'/'. $this->params->get('bild').'" />'; } else{ echo '<img src="' .$this->baseurl .'/templates/'. $this->template .'/images/foto.jpg" />'; } ?>



