Sie können (in der Premium- oder Plus-Version) auch ein individuelles Layout auf Basis eines HTML-Templates erstellen und damit Ihre "Corporate Identity" wahren.

Sollten Sie hierbei Unterstützung benötigen, dann kontaktieren Sie uns einfach.

Voraussetzungen:
- Premium- oder Plus-Version
- Unter Administration/Basiskonfiguration/Dateien den Unterordner "layout" anlegen und folgende Dateien darin ablegen:
template.html (ist das Standard-Layout, der Dateiname muss so bleiben!)
dialog.html (optional, ist eine Darstellung der Popup-Dialoge)
main.js (Javascript-Datei, die bei diesem Dateinamen auch im Dialog.Ansicht verwendet wird!)
main.css (Haupt-Stylesheet, der Dateiname muss so bleiben!)
ggf. templateSpezial1.html usf. (es kann dann bei den statischen Seiten zwischen "Standard" und "Spezial1" gewählt werden
alle in den Templates eingebettete Bilder, Style-Sheets, Javascript-Bibliotheken, usf.

Pantoletten grau Dr Dr Brinkmann Brinkmann 4qwxHCvPZ

Beispiel-Template:





{#STYLES#}
{#TITLE#}


Bluse WE Bluse schwarz Bluse Fashion Fashion WE schwarz WE schwarz Fashion Fashion WE Bluse

{#OPTION:b#}

{#/OPTION:b#}


Fashion Fashion WE Fashion WE schwarz Bluse WE schwarz Bluse Bluse Bluse WE schwarz Fashion

{#MODULES#} | weiß Arm grau 3 Oliver s Shirt 4 qnZTwAz{#/MODULES#}




{#OPTION:m#}



{#MENU#}



{#LOGINVERTICAL#}




{#LOGININFO#}




{#ROLLENINFO#}


{#/OPTION:m#}



{#CONTENT#}

Fashion schwarz Bluse Bluse WE schwarz WE WE Fashion schwarz Bluse WE Fashion Bluse Fashion


Armour HeatGear Blocked Under blau Sportstyle 8ABnx7




Alle Platzhalter:

schwarz Under Fleece Trainingshose Armour Fleece Trainingshose Under Armour schwarz Ax8Wawq1FC Home St Pauli Under braun 2019 Armour Herren 2018 Trikot 5wEqxnXT1
Bluse Fashion Bluse WE Fashion Fashion schwarz Fashion schwarz WE schwarz WE WE Bluse Bluse Platzhalter Beschreibung
{#LAYOUT#} Fashion Bluse WE WE Fashion schwarz Bluse Fashion WE schwarz Bluse Fashion WE Bluse schwarz Das Verzeichnis files/layout/
WE Fashion Fashion Fashion Bluse schwarz schwarz Fashion WE Bluse WE schwarz Bluse WE Bluse {#LAYOUT:datei#} Datei im Layout-Verzeichnis (files/layout oder /admin/layout/LAYOUTNAME) mit Revisionsangabe
(um den Brower-Cache zu aktualisieren).
Beispiel:
aus {#LAYOUT:datei.css#} wird:
files/layout/datei.css?rev=1382639603
{#ADMIN:admindatei#} bindet eine zentrale Datei aus Admin-Pfad ein, bwsp. die Master-CSS:

Fashion Bluse Fashion Bluse Bluse schwarz Fashion WE WE WE WE schwarz Bluse schwarz Fashion WE schwarz WE Bluse Fashion Bluse Bluse Fashion Bluse WE WE Fashion schwarz Fashion schwarz
Zur Info: Diese wird immer bei Dialogen (&dialog=1) verwendet, zzgl. der evtl. vorhandenen main.css im Layout-Verzeichnis.
{#STYLES#} bindet alle VereinOnline-JS/Style-Angaben ein (TinyMCE, Kalender, Colorpicker, u.a.).
Sollte innerhalb HTML/HEAD stehen.
{#TITLE#} Die Überschrift der Seite inkl. Vereinsname
{#MODULES#}
   AM4084 Machado Stiefeletten Klassische Stiefelette schwarz Andres RC8qWgZ11
{#/MODULES#}
Eine Schleife über alle Module (Register).
Innerhalb der Schleife sind beliebige HTML-Elemente (diese werden für alle Module wiederholt) inkl. folgende Platzhalter möglich:

{#MODULENAME#}
Der Modulname, z.B. "Mitglieder"

{#MODULENAMESUB#}
Der Untermodulname. Kann bei der Definition einer statischen Seite so eingebene werden:
Bluse schwarz WE schwarz Fashion schwarz Bluse Bluse Fashion WE Fashion WE Bluse Fashion WE
Name: MODULNAME~UNTERMODULNAME

{#MODULELINK#}
Der HTML-Link, der zum Aufruf des Moduls führt (# falls leer)

{#MODULETARGET#}
Beginnt der Link mit "http", dann "_new" sonst "_parent"

{#MODULECLASS#}
Beginnt der Link mit "?module=" dann das Modul, das dahinter steht, sonst leer

{#MODULESELECTED#}
wird ersetzt durch "moduleselected" oder "moduleunselected", jenachdem, ob das aktuelle Modul ausgewählt ist oder nicht.

{#MODULESELECTED?AA:BB#}
wird ersetzt durch "AA" oder "BB", jenachdem, ob das aktuelle Modul ausgewählt ist oder nicht.

{#MODULEMENU?text-wenn-untermenumenu:text-wenn-kein-untermenu#}
schwarz WE Fashion schwarz Bluse Fashion Fashion Bluse Bluse WE WE schwarz WE Bluse Fashion
hiermit sind bedingte HTML-Teile möglich, abhängig davon, ob das Modul Untermenüs hat oder nicht.

{#MODULEMENU:clsli,clsliohne#}
Hiermit werden die Klassen für LI (mit Links) und LI (ohne Links) festgelegt.

{#MODULEMENU#}
wird ersetzt durch eine UL-LI-Aufzählung aller Untermenüpunkte

{#MODULEMENU-#}
ohne Klassenmarkierung

{#MODULENR#}
wird ersetzt durch eine laufende Nummer

{#IF:MODULELINK=*linkname|*linkname2#} .. {#ELSE#} .. {#/IF#}
Bedingung für eine bestimmte Seite (| ist "oder").

{#MODULES(max=5)#}
legt fest, dass maximal 5 Punkte angezeigt werden (die ersten 5).

{#MODULEHASLINK?ja..:nein..#}
Ermöglicht die Variation vom HTML-Code abhängig davon, ob es für dieses Untermodul einen Link gibt oder nicht

{#MODULEHASSUBLEVEL1?ja..:nein..#}
Ermöglicht die Variation vom HTML-Code abhängig davon, ob es für dieses Untermodul ein Untermenü Level 1 gibt oder nicht

{#MODULEOPEN?ja..:nein..#}
Ermöglicht die Variation vom HTML-Code abhängig davon, ob dieses Untermodul aktuell gewählt ist oder nicht

{#MODULESUBLEVEL1#}...{#MODULESUBLEVEL1#}
Schleife über die Untermenü-Navigationspunkte 1

{#MODULESUBLEVEL1#}...{#MODULESUBLEVEL1#}
Schleife über die Untermenü-Navigationspunkte 2
{#MODULES1#}...{#/MODULES1#} Abweichung von der Modul-Schleife:
Nummerierung der Modulschleife, um mehrere haben zu können.

Unter Administration/Basiskonfiguration/Parameter sind dann Einschränkungen definierbar: modules1.visible=members,events
{#NAVITEMS#}...{#/NAVITEMS#} Schleife über alle einzelnen Menü-Navigationspunke mit den Parametern {#NAVLINK#}, {#NAVCLASS#}, {#NAVSELECTED#}, {#NAVNAME#}
{#NAVITEMS1#}...{#/NAVITEMS1#} Bluse Fashion WE Bluse Fashion schwarz schwarz WE Bluse Fashion Fashion schwarz WE WE Bluse Fashion Fashion WE Bluse Bluse Bluse Bluse WE WE schwarz Fashion Fashion schwarz schwarz WE Schleife über alle einzelnen Menü-Navigationspunke der Ebene 1 mit den Parametern {#NAVLINK#}, {#NAVCLASS#}, {#NAVSELECTED#}, {#NAVNAME#}. Untermenüs werden als Dropdown dargestellt.
{#NAVITEMSLEVEL1#}...{#/NAVITEMSLEVEL1#} Schleife über die Menüs des Level 1, ersetzt werden, {#NAVLINK1#} {#NAVCLASS1#} {#NAVSELECTED1#} {#NAVSELECTED1?classselected:classnotselectzed#} {#NAVSUBSELECTED1#} {#NAVNAME1#}
{#NAVITEMSLEVEL2#}...{#/NAVITEMSLEVEL2#} Schleife über die Menüs des Level 2 innerhalb {#NAVITEMSLEVEL1#, ersetzt werden, {#NAVLINK2#} {#NAVCLASS2#} {#NAVSELECTED2#} {#NAVSELECTED2?classselected:classnotselectzed#} {#NAVSUBSELECTED2#} {#NAVNAME2#}
{#NAVITEMSLEVEL..#}...{#/NAVITEMSLEVEL..#} entsprechend weitere Levels 3, ...
{#NAVMENU#} aufklappbares Menü in responsive Designs
{#TemplateParameter.NAME, Standardwert#} wird ersetzt durch die Angabe in der statischen Seite.
Beispielsweise ist in der Seite definiert:
Armour Herren Under HeatGear Armour schwarz Trainingsshirt Compression qEqwZvCxzTemplateParameter: Farbe=green, Hoehe=200

{#TemplateParameter.Farbe,red#} wird dann ersetzt durch "green"

Wenn "Farbe=.." nicht in der Seite definiert wäre, dann würde {#TemplateParameter.Farbe,red#} ersetzt durch "red"
{#Template.XYZ#}
{#Template.XYZ, Standardwert#}
Ein Parameter, der im Register "Layout" angegeben werden kann. Wenn nicht definiert, dann wird der angegebene Standardwert verwendet.
{#IF:Template.XYZ#}
...
{#Template.XYZ#}
....
{#/IF#}
Ermöglicht einen bedingten Bereich, der nur übernommen wird, wenn der Parameter gesetzt ist.
{#IF:StaticPage.datenschutz#}
...
{#/IF#}
Ermöglicht einen bedingten Bereich, der nur übernommen wird, wenn die angegebene statische Seite (im Beispiel: datenschutz) existiert gesetzt ist.
{#OPTION:b#}
...
{#/OPTION:b#}
HTML-Code, der nur angezeigt wird, wenn die Option "b" gewählt ist
(Optionen siehe unten!)
{#/OPTION:!m#}
...
{#/OPTION:!m#}
HTML-Code, der nur angezeigt wird, wenn die Option "m" NICHT gewählt ist.
{#OPTION:b,filename#}
...
{#/OPTION:b#}
Die Option gilt nur, wenn die Datei existiert.
(Optionen siehe unten!)
{#MENU#} Zeigt das linke Navigationsmenü an
Klassenmarkierungen: menulevel0[selected], menulevel1[selected], menulevel2[selected], ...
Abweichende Klassenmarkierungen ao angebbar: {#MENU:..|..|..#}
{#LOGIN#} Zeigt die Login-Felder (horizontal) bzw. Logout-Link und den Hilfe-Link an
{#LOGINVERTICAL#} Zeigt die Login-Felder (vertikal)bzw. Logout-Link und den Hilfe-Link an
{#LOGININFO#} Zeigt an "Angemeldet als ?"
{#ROLLENINFO#} Zeigt die Rollen der angemeldeten Person
{#FREUNDE#}
Zeigt die Liste der befreundeten Vereine an (in

-Aufzählung)
Zeigt die Liste der befreundeten Vereine an (in

  • -Aufzählung)
  • {#IF:_LOGGEDIN#}.. {#/IF#} Innerer Bereich wird nur angezeigt falls angemeldet
    {#IF:_LOGGEDOUT#}.. {#/IF#} Innerer Bereich wird nur angezeigt falls NICHT angemeldet
    {#IF:_MITGLIEDSANTRAG#}.. {#/IF#} Innerer Bereich wird nur angezeigt falls der Mitgliedsantrag aktiviet ´ist und falls NICHT angemeldet
    {#CONTENT#} Der generierte Inhalt
    {#SUBPAGES#}
    {#SUBPAGE#}
    {#/SUBPAGES#}
    Statt oder ergänzend zu {#CONTENT#} ist es möglich, sog. "Abschnitte" zu ermöglichen. Dafür müssen im Layout Dateien mit dem Namen "sektionABSCHNITTSNAM.htmlE" vorhanden sein. In der statischen Seite bei der Auswahl des betreffenden Layouts mit Abschnitten ist es dann möglich, in die Seite beliebige Abschnitte in beliebiger Reihenfolge aufzunehmen. Die gewählten PLatzhalter werden dann innerhaln der Schleife {#SUBPAGES#}...{#/SUBPAGES#} im Platzhalter {#SUBPAGE#} engesetzt. Platzhalter für Abschnitte sind:

    {#TemplateParameter.NAME#} für Platzhalter, die pro Abschnitt definiert werden.

    in Schleife: {#TemplateElemente#}...{#/TemplateElemente#} sind folgende PLatzhalter möglich, dabei sind die Anzahl der Elemente variable in der Abschnittsdefintion der statischen Seite festlegbar:
    {#TemplateElement.NAME#} ein beliebiger Text-Platzhalter
    {#TemplateElement.NAMEDatei#} ein Dateiname-Platzhakter mit Dateiauswahl, z.B. für:
    {#TemplateElement.NAMEText#} mehrzeiliges Textfeld
    {#TemplateElement.NAMEHTML#} mehrzeiliges HTML-Textfeld
    {#TemplateElement.NAMEVeranstaltung.titel#} Veranstaltungs-Feld (Eingabe: Veranstaltungsauswahl, Anzeige "titel"-Feld, ggf. andere!)
    {#TemplateElement.NAMEArtikel.textkurz#} Artikel-Feld (Eingabe: Artikelauswahl, Anzeige "textkurz"-Feld, ggf. andere!)
    {#TemplateElement.NAMEPage#} Einbettung einer statische Seite (Eingabe: statische Seite, Anzeige Inhalt)
    {#TemplateElementNr#} die laufende Nummer (0,1,2,..) des Elements
    {#TemplateElementFirst#} für die Nr 0: "active", andere leer
    {#SITEMAP#} zeigt die sog. "Brotkrümelnavigationsleiste" an,
      {#SITEMAP#}
    {#CAPTION#} wird ersetzt durch die Überschrift der Seite.
    Wenn dieser Platzhalter nicht vorkommt, wird die Überschrift innerhalb des Contents ausgegeben.
    {#CAPTION:H1#} wird ersetzt durch die Überschrift der Seite.
    Wenn eine Überschift vorhanden ist, dann wird diese in

    ..

    -Tags eingebettet.
    {#IMPRESSUM#} wird ersetzt durch den Link auf das Impressum (inkl. A-Tag)
    {#IMPRESSUMLINK#} wird ersetzt durch die Link-Url auf das Impressum (ohne A-Tag)
    {#DATENSCHUTZLINK#} wird ersetzt durch den Link auf der Datenschutzerklärung (ohne A-Tag)
    {#WERBUNG#} wird ersetzt durch den Inhalt der HTML-Vorlage "Werbung"
    {#FAVICON#} wird ersetzt durch das Fav-Icon, Standard oder falls vorhanden aus Administration/Basiskonfiguration/Dateien
    {#EXTRAINFO#} wird ersetzt durch das Ergebnis einer GetExtraInfo()-Funktion, die in einer Extension enthalten sein muss
    {#SWITCHUSER#} wird ersetzt durch den Rollen-Test-Zurückschalt-Link (sofern Rollen-Test aktiviert)
    {#SPRACHENAUSWAHL#} wird ersetzt durch die Sprachen-Flaggen (nur bei aktivierter Mehrsprachigkeit)
    {#BODYCLASSES#} wird ersetzt durch die Klassenmarkierung des aktuellen Navigationspunktes (content, sowie der Modul- und Aktinsname): ergibt
    {#USERNAME#} wird ersetzt durch den aktuellen Benutzernamen
    {#PAGE:id#} wird ersetzt durch die statische Seite mit der angegebenen ID
    WE WE Fashion schwarz Fashion Bluse Bluse Fashion schwarz Bluse WE schwarz Bluse Fashion WE {#LOGO:...#} läd die angegebene Logodatei (Angabe .jpg, läd auch alterativ ein .png oder .gif)
    {#GLOBAL:...#} wird ersetzt durch den globalen Parameter, z.B. {#GLOBAL:name#}
    {#LANGUAGE:...#} wird durch das übersetzte Wort ersetzt
    [vereinonline...] bindet die Funktionen des WordPress-Plugins ein (Funktionen [vereinonline_mitglieder(ROLLE)] eigt alle angefordeten Mitglieder unabhängig von der eigenen Rolle!)
    mitglied:feld, mitglied:key_.. Zeigt ein Profildaten-Feld des aktuell angemeldeten Benutzers an

    Optionen:
    Socken 3 Sportsocken Paar PUMA weiß PUMA ScfAYTy11 Die Optionen, falls benötigt, stehen bei den statischen Seiten zur Auswahl bei jeder einzelnen Seite zur Auswahl. Damit sind Banner, Menüs, usf. je Seite ausblendbar.
    Die Optionen müssen in der Datei "template_optionen.txt" definiert werden:
    b,1,Logo anzeigen
    m,1,Navigationsmenü links anzeigen

    1. Parameter: ein eindeutiger Buchstabe, der dann auch bei {#OPTION:_#} verwendet wird
    2. Parameter: 1=standardmäßig aktiviert, 0=standardmäßig nicht aktiviert
    3. Parameter: Beschreibung

    Aktivierung des Layouts:
    WE WE Fashion WE Fashion schwarz WE Bluse schwarz Fashion schwarz Bluse Bluse Fashion Bluse
    Unter "Administration/Basiskonfiguration/Layout" das Layout auf "Individuell" stellen.
    Bluse Bluse schwarz WE Fashion Fashion schwarz schwarz Fashion WE Fashion Bluse WE WE Bluse

    Bluse Bluse WE Bluse WE Fashion Fashion WE schwarz Fashion schwarz Fashion schwarz WE Bluse Zurücksetzen:
    Falls das Template nicht funktioniert, dann kann mit folgendem Befehl auf das Standard-Modern-Umgebung zurückgestellt werden (Admin-Basiskonfiguration-Änderungsrechte erforderlich):
    WE WE Bluse schwarz Bluse Fashion WE Fashion Fashion schwarz Fashion Bluse WE Bluse schwarz
    http://www.vereinonline.org/Combat_Veteran_eV/?resetlayout