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> &copy; <?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

<?php
JHtml::_('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>Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!;/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" />';
        }
        ?>