+----------+
| English |
+----------+
Hi all,
I am proud to release my third work now: ETMuS - Extendable Template Markup Script. I will also publish some plugins for this release soon. Those will include a plugin for MySQL and MSSQL database connections. I started this project quite a while ago and was always extending it and adding some features.
I hope that this script helps someone out there to create complex sites with a low cost of time building up the base for it. It was developed to have very simple template script which keeps the HTML (Design) parts away from the PHP (Coding) ones.
Requirements:
The documentation can be found here: [Only registered and activated users can see links. Click Here To Register...]
How to use?
First you have to get the singleton instance of the ETMuS class by using:
Note: + should be a backslash (\) but unfortunatly it is cut off here :(
Now you can use the following options:
You can ask me here or in skype if you have any questions. I can help you also in building up a new webpage if you have any problems.
+-----------+
| Deutsch |
+-----------+
Hallo zusammen,
ich freue mich euch heute hier meine dritte Veröffentlichung zu präsentieren: ETMuS - Extendable Template Markup Script. Ich werde in naher Zukunft weitere Erweiterungen für das Skript zur Verfügung stellen, darunter auch eine Erweiterung für MySQL und MSSQL Verbindungen. Ich habe mit diesem Projekt schon einer halben Ewigkeit angefangen und seit dem kontinuierlich ausgebaut und verbessert.
Ich hoffe, dass dieses Skript einigen dabei hilft mit einfachen Mitteln größere Projekte in sehr kurzer Zeit zu verwirklichen. Desweiteren ist das Skript speziell darauf ausgelegt, das Design vom PHP-Quelltext zu trennen um neue Designs blitzschnell anzupassen und einzupflegen genauso wie neue Features.
Vorraussetzungen:
Die Dokumentation findet sich in Englisch hier: [Only registered and activated users can see links. Click Here To Register...]
Wie funktionierts?
Zu aller erst sollte man sicherstellen, dass man eine Instanz erhält. Dazu folgende Funktion abrufen:
Beachtet: Das + sollte eig. ein \ darstellen. Leider werden die im PHP-Code-Tag entfernt :(.
Nachdem die Instanz abgerufen wurden, kann man nun folgendes damit machen:
Falls ihr Fragen habt, bin ich natürlich per Skype oder hier direkt verfügbar. Ich kann euch natürlich bei Problemen mit der Erstellung eurer eigenen Webseite helfen.
M2Commander
| English |
+----------+
Hi all,
I am proud to release my third work now: ETMuS - Extendable Template Markup Script. I will also publish some plugins for this release soon. Those will include a plugin for MySQL and MSSQL database connections. I started this project quite a while ago and was always extending it and adding some features.
I hope that this script helps someone out there to create complex sites with a low cost of time building up the base for it. It was developed to have very simple template script which keeps the HTML (Design) parts away from the PHP (Coding) ones.
Requirements:
- bcompiler
- PHP >= 5.3
The documentation can be found here: [Only registered and activated users can see links. Click Here To Register...]
How to use?
First you have to get the singleton instance of the ETMuS class by using:
PHP Code:
$instance = +OutstandDesig+ETMuS+ETMuS::getSingleton();
Now you can use the following options:
- User defined variables
by writingyou can usePHP Code:$instance->UserDefined = "42";
in your design files as variable and it will be parsed to 42HTML Code:<<UserDefined>> - Predefined variables
by writingyou can use the predefinedPHP Code:$instance->Pagetitle = "1337";
to set the page title. A full list with all predefined variables can be found in the documentation.HTML Code:<<PAGETITLE>> - Navigation
You can add a new Navigationpoint by using
In your designfiles you can use the navigation by writingPHP Code:$instance->NavigationAddLink($menuname, array("name" => linkname, "url" => linkurl[, "active" => false])[, $parentmenuname]);
This will include the following files from your designfolder in the following order:HTML Code:<<NAV:MENUNAME>>
navigation_start_MENUNAME.html
navigation_substart_MENUNAME.html
navigation_1_MENUNAME_off.html/on.html for each navigationlink
navigation_2_MENUNAME_off.html/on.html for each sublink
navigation_subend_MENUNAME.html
navigation_end_MENUNAME.html
If one or more files are not available they will be skipped and a notice will be thrown. - Tables
You can use tables if you have content that returns a few times for example a <table> with 5 rows and 2 columns, you can write a foreach or equal which contains the following line:
This line will add a row to the TestTable. Each row will be the content of the TestTable.html (in the design folder). The vars will be replaced by the value of the specified key (key1, key2). These keys need to be written asPHP Code:$instance->TableData_TestTable = array("key1" => "value1", "key2" => "value2");
within the table template to avoid conflicts with same-named "global" variables.HTML Code:[<KEY1>] or [<KEY2>]
A table is marked by usingin your design fileHTML Code:<<INCLUDE:TESTTABLE:TABLE>> - Includes
Files from your Designfolder can be included by usingin your design files. This tag will include the incfile.html file. The content will be parsed for further tags.HTML Code:<<INCLUDE:INCFILE>> - Privileges
If, the content betweenPHP Code:$instance->User != NULL
will be displayed.HTML Code:<<PRIVILEGE:LOGGEDIN>> and <</PRIVILEGE:LOGGEDIN>>
You can negate this expression by using
A more complex Privileges plugin is already in development.HTML Code:<<!PRIVILEGE:LOGGEDIN>> and <</PRIVILEGE:LOGGEDIN>>
You can ask me here or in skype if you have any questions. I can help you also in building up a new webpage if you have any problems.
+-----------+
| Deutsch |
+-----------+
Hallo zusammen,
ich freue mich euch heute hier meine dritte Veröffentlichung zu präsentieren: ETMuS - Extendable Template Markup Script. Ich werde in naher Zukunft weitere Erweiterungen für das Skript zur Verfügung stellen, darunter auch eine Erweiterung für MySQL und MSSQL Verbindungen. Ich habe mit diesem Projekt schon einer halben Ewigkeit angefangen und seit dem kontinuierlich ausgebaut und verbessert.
Ich hoffe, dass dieses Skript einigen dabei hilft mit einfachen Mitteln größere Projekte in sehr kurzer Zeit zu verwirklichen. Desweiteren ist das Skript speziell darauf ausgelegt, das Design vom PHP-Quelltext zu trennen um neue Designs blitzschnell anzupassen und einzupflegen genauso wie neue Features.
Vorraussetzungen:
- bcompiler
- PHP >= 5.3
Die Dokumentation findet sich in Englisch hier: [Only registered and activated users can see links. Click Here To Register...]
Wie funktionierts?
Zu aller erst sollte man sicherstellen, dass man eine Instanz erhält. Dazu folgende Funktion abrufen:
PHP Code:
$instance = +OutstandDesig+ETMuS+ETMuS::getSingleton();
Nachdem die Instanz abgerufen wurden, kann man nun folgendes damit machen:
- Benutzerdefinierte Variablen
durchkann man in den Designdateien folgende Konstrukt verwenden:PHP Code:$instance->UserDefined = "42";
Dies wird nach dem Parsen zu 42.HTML Code:<<UserDefined>> - Vordefinierte Variablen
Vordefinierte Variablen müssen nicht explizit gesetzt werden, da sie bereits einen Wert besitzen.Setzt den Seitentitel auf 1337, wenn man folgendes Tag in den Designdateien unterbringt:PHP Code:$instance->Pagetitle = "1337";
Eine ausführliche Dokumentation aller Vordefinierten Variablen findet sich in der Doku (siehe oben)HTML Code:<<PAGETITLE>> - Navigation
Ein Navigationspunkt für ein Menü kann durch folgende Funktion hinzugefügt werden:
Nun kann ein oder mehrere zusammengehörige Links durch das folgende Tag plaziert werden:PHP Code:$instance->NavigationAddLink($menuname, array("name" => linkname, "url" => linkurl[, "active" => false])[, $parentmenuname]);
Dadurch werden nun folgende Dateien eingebunden:HTML Code:<<NAV:MENUNAME>>
navigation_start_MENUNAME.html
navigation_substart_MENUNAME.html
navigation_1_MENUNAME_off.html/on.html für jeden Navigationslink innerhalb eines Blocks
navigation_2_MENUNAME_off.html/on.html für jeden Sub-Navigationslink innerhalb eines Blocks
navigation_subend_MENUNAME.html
navigation_end_MENUNAME.html
Falls eine oder mehrere Dateien nicht vorhanden sind (oder nicht benötigt werden), so werden diese übersprungen und eine Notice wird ausgegeben. - Tabellen
Tabellen kommen dann zum Einsatz, wenn man einen gewissen Inhalt mehrfach wiederholen muss und sich nur einzelne Positionen ändern z.b. eine Tabelle oder auch Warenliste mit 10 Gegenständen (mit individueller Beschreibung, Preis etc.). In solchen Fällen werden die Daten i.d.R. per PHP aus einer DB/Datei/Array geladen. Durch eine Foreach/While/For wird dann der folgende Befehl für jede Zeile abgesetzt:
Jede Zuweisung zu TableData_TestTable erzeugt eine neue Zeile, wobei als Template die Datei TestTable.html (aus dem Designordner) genommen wird.PHP Code:$instance->TableData_TestTable = array("key1" => "value1", "key2" => "value2");
Um keine Verwechslung mit "globalen" Variablen zu bekommen, greift man auf Table Variablen mit
zu, wobei als Variablenname der Schlüssel des Array genommen wird.HTML Code:[<KEY1>] or [<KEY2>]
Eine Tablle wird in der Designdatei gekennzeichnet durchHTML Code:<<INCLUDE:TESTTABLE:TABLE>> - Includes
Um weitere Dateien (z.b. Seitenübergreifender Inhalt) einzubinden wird folgendes Tag genutzt:
Dieses Beispiel bindet die incfile.html Datei ein. Der Inhalt wird wiederrum erneut geparst auf weitere Tags.HTML Code:<<INCLUDE:INCFILE>> - Zugriffsrechte
Wenn, so wird der Inhalt zwischenPHP Code:$instance->User != NULL
angezeigt.HTML Code:<<PRIVILEGE:LOGGEDIN>> und <</PRIVILEGE:LOGGEDIN>>
Durch die Negierung mittels
kann Inhalt vor eingeloggten Benutzern verborgen werden.HTML Code:<<!PRIVILEGE:LOGGEDIN>> und <</PRIVILEGE:LOGGEDIN>>
Ein Plugin für speziellen Nutzergruppen Zugriff ist zur Zeit in der Endphase der Entwicklung und wird sicherlich auch bald veröffentlicht.
Falls ihr Fragen habt, bin ich natürlich per Skype oder hier direkt verfügbar. Ich kann euch natürlich bei Problemen mit der Erstellung eurer eigenen Webseite helfen.
M2Commander