Servus Leute,
ich habe leider nichts vergleichbares gefunden und hoffe mit diesem Thread auch allen zukünftigen Entwicklern die am Anfang stehen helfen zu können.
Ich habe ein Template selber entwickelt und würde dieses nun in Zukunft mit Joomla gestalten (da noch weitere Benutzer/Redakteure geplant sind, die kein HTML können). Dazu muss man einige Modifikationen am Template anbringen. Zum einen die "templateDetails.xml erzeugen", die Joomla ja (unter Anderem) zur Installation benötigt. Zum Anderen muss man Positionen und Module definieren, mit denen dann Joomla! arbeiten kann.
In meinem konkreten Beispiel möchte ich gerne eine Website mit drei Spalten erstellen (wobei die Linke nur als Navigationsmenü dienen soll), sowie einem Header mit Logo und einem Footer mit den AGBs etc.
Ich habe es also wie folgt gestalten:
templateDetails.xml
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/2.5/template-install.dtd"><extension version="3.0" type="template" client="site"> <name>EXAMPLE NAME</name> <title>EXAMPLE</title> <creationDate>27.04.17</creationDate> <author>Max Mustermann</author> <authorEmail>Max.Mustermann@example.com</authorEmail> <authorUrl>http://www.example.com</authorUrl> <version>1.1.0</version> <description>Just another website</description> <files> <folder>bilder</folder> <folder>css</folder> <filename>index.php</filename> <filename>favicon.ico</filename> <filename>templateDetails.xml</filename> <filename>template_thumbnail.png</filename> </files> <positions> <position> navi-links </position> <position> main-mitte </position> <position> news-rechts </position> <position> footer-unten </position> </positions></extension>
index.php (mit Hilfe einer Flexbox):
<!doctype html><html> <head> <!-- Allg. Info --> <title>EXAMPLE</title> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="templates/exampletemplate/css/style.css"> </head> <body> <!-- gesamte Website --> <header> <!-- Logo OBEN --> <img src="templates/exampletemplate/bilder/headerlogo.png" width="1800" height="200" alt="LOGO"> </header> <div id="Flexbox"> <!-- Container --> <nav> <!-- Navigation LINKS --> <jdoc:include type="modules" name="navi-links" /> </nav> <main> <!-- Hauppteil --> <jdoc:include type="modules" name="main-mitte" /> </main> <aside> <!-- News RECHTS --> <jdoc:include type="modules" name="news-rechts" /> </aside> </div> <footer> <!-- Fußleiste UNTEN --> <jdoc:include type="modules" name="footer-unten" /> </footer></body></html>
style.css
body { background: grey; margin: 0 auto; min-width: 660px; max-width: 1800px;}header { background: grey; text-align: center; padding-top: 10px;}nav { background: lightgrey; flex: 0 0 160px; text-align: center; padding: 10px; border: 1px solid black;}main { background: lightgrey; flex: 1; padding: 10px; border-top: 1px solid black; border-bottom: 1px solid black;}aside { background: lightgrey; flex: 0 0 210px; text-align: center; padding: 10px; border: 1px solid black;}footer { background: lightgrey; padding: 10px; text-align: center; border-left: 1px solid black; border-right: 1px solid black; border-bottom: 1px solid black;}#Flexbox { display: -webkit-flex; display: -ms-flex; display: flex; flex-direction: -webkit-row; flex-direction: -ms-row; flex-direction: row;}
Soweit so gut. Es lässt sich installieren und wird mir folgendermaßen ausgegeben:
In der "templateDetails" habe ich bereits die <positions> definiert, die ich dann an den benötigten Stellen in der index.php mit dem <jdoc:include.... Befehl eingearbeitet habe.
Jetzt meine Frage: Was kann/muss man noch ergänzen/verändern?
Ich habe im Backend das Problem, dass Beiträge nicht auf der Website angezeigt werden, ich kann ihnen z.T keine Module zuweisen.
Zusätzlich habe ich noch keine "Parameter" (in der templateDetails) eingefügt, was daran liegt, dass ich da noch nicht ganz durchblicke.
<!-- Parameter Block start -->
<config>
<fields name="params">
<fieldset name="advanced">
<field name="unser_header_bild"
type="media"
default=""
label="TPL_TEST_TEMPLATE_FIELD_UNSER_HEADER_BILD_LABEL"
description="TPL_TEST_TEMPLATE_FIELD_UNSER_HEADER_BILD_DESC"
filter="string"
/>
</fieldset>
</fields>
</config>
<!-- Parameter Block ende -->
Alles anzeigen
Habe dieses Beispiel unter "joomla-templates.de" gefunden, weiß aber noch nicht gänzlich wofür ich das benötige. Den Header (Logo) kann ich auch direkt in der .php bearbeiten,
brauche da jetzt nicht zwangsweise eine Hilfe im Joomla Backend.
Ein langer Beitrag, tut mir Leid, habe versucht alles so detailliert wie möglich zu erklären.
Des Weiteren habe ich das Template komplett selber geschrieben (mein Erstes), also seid bitte nachsichtig mit mir, sind sicher dutzende Fehler enthalten.
Ich bin ja schon froh, dass es überhaupt funktioniert (mehr oder weniger)!
Edit by Admin: Langen Code in Spoiler