Template - Grundlagen

1️⃣ Template-Verzeichnis anlegen

📁 Pfad

 /templates/mein_template/
 

Mindeststruktur

/templates/mein_template/

├─ index.php
├─ templateDetails.xml
├─ error.php
├─ template_preview.png
├─ css/
│ └─ template.css
└─ html/ (für Overrides) 
 

📌 Ohne index.php + templateDetails.xml kein Template


2️⃣ Entwurf erstellen (Planung)

Vor dem Coden klären:

  • Header (Logo, Titel)
  • Navigation
  • Content-Bereich
  • Sidebar (optional)
  • Footer

📐 Grobes Layout:

Header
Navigation
Systemmeldungen
Content
Footer
 

3️⃣ HTML-Grundgerüst erstellen

📁 Datei: /templates/mein_template/index.php


 4️⃣ Kopf für Joomla 6 vorbereiten

 Pflicht im <head>

<jdoc:include type="metas" />
<jdoc:include type="styles" />
<jdoc:include type="scripts" />

📌 Ohne diese:

  • kein CSS
  • kein JS
  • SEO-Probleme

5️⃣ Komponenten einbinden

Hauptinhalt (Pflicht!)

 <jdoc:include type="component" />
 

📌 Komponenten liefern den Seiteninhalt
(z. B. Beiträge, Kontakte, Suche)


6️⃣ Modulpositionen kennzeichnen

 <jdoc:include type="modules" name="menu" />
<jdoc:include type="modules" name="sidebar" />
<jdoc:include type="modules" name="footer" />
 

📌 name = Modulposition


7️⃣ Systemmeldungen einbinden

<jdoc:include type="message" /> 
 

📌 Zeigt:

  • Login-Meldungen
  • Fehler
  • Bestätigungen


8️⃣ Name der Website einbauen

➡️ kommt aus: pgsql Code kopieren
System → Globale Konfiguration → Website-Name


9️⃣ Link zur Startseite

📌 $this->baseurl = Domain + Unterverzeichnis


🔟 Statische Bilder einbinden

 📁 Pfad:

/templates/mein_template/images/logo.png

HTML

 


1️⃣1️⃣ Eigene Fehlerseite (error.php)

📁 Datei:

/templates/mein_template/error.php

📌 Wird automatisch bei Fehlern genutzt

 


1️⃣2️⃣ templateDetails.xml erstellen

Pfad:

/templates/mein_template/templateDetails.xml

 


1️⃣3️⃣ Template-Paket erstellen

  • Ordner mein_template zippen
  • Upload über:
 System → Installieren → Erweiterungen
 

1️⃣4️⃣ Template Overrides

📁 Pfad:

 /templates/mein_template/html/com_content/article/
 

➡️ Überschreibt:

 /components/com_content/tmpl/article/
 

📌 Update-sicher

 

1️⃣5️⃣ Modul-Chrome (Modul-Layouts)

📁 Pfad:

 /templates/mein_template/html/layouts/chromes/
 

Beispiel:


1️⃣6️⃣ Stylesheet einbinden

📁 Datei:

 /templates/mein_template/css/template.css
 

Automatisch geladen durch:
<jdoc:include type="styles" />

Beispiel:

header {
     background-color: #2F4F4F; /* Dark Slate Gray */
     color: #FFFFFF; /* White */
 

1️⃣7️⃣ Vorschaubild (Template Preview)

📁 Datei:

/templates/mein_template/template_preview.png
 

📌 Wird im Backend angezeigt

 


 1️⃣8️⃣ Einzelne Elemente formatieren

 

main {
     max-width: 1200px;
     margin: auto;
}

footer {
     background-color: #333333; /* Dark Gray */
     color: #FFFFFF; /* White */
}


1️⃣9️⃣ Templates mit Parametern steuern

In : "templateDetails.xml:"

 <config>
     <fields name="params">
          <fieldset name="basic">
               <field name="bgcolor" type="color" label="Hintergrundfarbe" />
          </fieldset>
     </fields>
</config>
 

In :Datei "index.php"

<style>
body {
    background-color: <?php echo $this->params->get('bgcolor'); ?>;
     }
</style>