+0177 / 7616272    kontakt@allerseiten.de

 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" />';
        }
        ?>


 

Die hier vorgestellten Anleitungen und Hilfestellungen sind nach besten Wissen und Gewissen von mir erstellt und getestet wurden.

Für eventuelle Schäden und Datenverluste übernehme ich keine Haftung.

 

Alle Angaben sind ohne Gewähr von Richtigkeit und Vollständigkeit!

verden