WebsiteBaker 2.13.8 is now available!
R.I.P Dietmar (luisehahne) and thank you for all your valuable work for WBhttps://forum.websitebaker.org/index.php/topic,32355.0.html
Aber was ist mit komplexeren Modulen wie z.B. Topics oder auch Members mit z.B. Übersicht und Detailanzeigen?
Zusätzliche Presets => beherrschen des Presets-Systemes
Was muss ein Designer nach unserer geplanten Komplettmethode können?Vollständige Trennung von Programmlogik und Anzeigeschicht => für den Anfang die Beherrschung etwas erweiterter Twig-Grundsyntax... fertigIch denke, die Wahl fällt da nicht besonders schwer. Man muss sich nur eben mal aufrappeln und bereit sein, neue -teilweise noch- unbekannte Wege zu gehen.
@DarkViperQuote from: DarkViper on January 07, 2013, 05:55:04 PMZusätzliche Presets => beherrschen des Presets-SystemesKönntest Du bitte kurz anreißen, was Du mit Preset-System meinst und wie es ungefähr aussehen würde?Ich habe das starke Gefühl, dass sowohl Mr-Fan, als auch ich, mit Presets etwas anderes meinen, als Du.Gruß,Stefek
Bitte nicht für mich mitmeinen - könnte schon selber fragen...
@Stefek: Hier wäre eine neue Methode, eigene Presetverwaltung, oder sonstige extras wohl nicht angebracht sondern schlicht auf den Punkt gebracht wie man TWIG nutzen könnte Module und Templates aufzuzbauen.
@cw-soft: Wie bist du die Umstellung deiner Module angegangen
Hmmm jaaaa, das ist nicht intuitiv aber Du musst ja nur das hier im Wiki lesen und dann das hier in der Doku und vieleicht noch hier die Tutorials machen, dann ist alles gaaaanz einfach.
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> {{ page.head_titel }} </title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" type="text/css" href="css/style.css" /> </head> <body> <div id="site"> <div id="top"> <div id="logo"> {{ page.titel }} </div>{% include 'top_nav.htt' %} </div> <div id="content"> <div id="left"> {% block content %} {% endblock %} </div> <div id="right"> {% include 'sub_nav.htt' %} </div> </div> </div> <div id="bg_footer"> </div> </body></html>
<div id="navi"> <div id="navimain"> <ul id="header_menu" class="menu"> {% for t_nav in topnav %} <li> <a href="{{ t_nav.Url }}" class="{{ t_nav.Current }} navlev1">{{ t_nav.Title }}</a> </li> {% endfor %} </ul> </div></div>
{% extends "wrapper.htt" %}{% block content %} <h1> Servus! </h1> <p> Bitte wählen Sie in der Navigation oben aus, was Sie tun möchten. </p>{% endblock content %}
Meine Frage wäre gewesen - kann man das mit den TWIG Templates genauso (oder besser) gestalten wie mit den Settingsschleifen?
<?PHP$templateDir = '/path/to/templates'; $loader = new Twig_Loader_Filesystem($templateDir);$twig = new Twig_Environment($loader);echo $twig->render('index.html', array('name' => 'Fabien'));?>
<?PHP$templateDir1 = '/path/to/templates'; $templateDir2 = '/path/to/templates2';$loader = new Twig_Loader_Filesystem(array($templateDir1, $templateDir2));$twig = new Twig_Environment($loader);echo $twig->render('index.html', array('name' => 'Fabien'));?>
<?PHP$loader = new Twig_Loader_String();$twig = new Twig_Environment($loader);echo $twig->render('Hello {{ name }}!', array('name' => 'Fabien'));?>
several tags, like extends or include do not make sense to use as the reference to the template is the template source code itself.
Sicher kann man sagen: "Warum nicht gleich PHP?".
{% macro input(name, value, type, size) %} <input type="{{ type|default('text') }}" name="{{ name }}" value="{{ value|e }}" size="{{ size|default(20) }}" />{% endmacro %}
{% import "forms.html" as forms %}
<p>{{ forms.input('username') }}</p><p>{{ forms.input('password', null, 'password') }}</p>
Aber in Zeiten wo es Tools wie den AFE oder andre Module gibt, sehe ich da kein Problem Template- Dateien zu verwenden
@BadknightQuote from: badknight on January 07, 2013, 10:57:46 PMAber in Zeiten wo es Tools wie den AFE oder andre Module gibt, sehe ich da kein Problem Template- Dateien zu verwendenAußer, dass im Falle von Section-Modulen und Layouts fürs Frontend, kann es oft vorkommen, dass Du für jede Section des gleichen Modules ein anderes Template brauchst. Dann wird die Arbeit mit AFE schon schwieriger und es würde sich in den Fällen empfehlen, entweder tatsächlich die DB vollzustopfen, oder eine Funktion zu haben, die in den Module-Settings die Layout-Files anzeigt und speichern läßt.Gruß,Stefek
Ich meine aber eben für die Fälle, wo man es per Section anders haben will, muss man sich etwas einfallen lassen.
Quote from: Stefek on January 07, 2013, 11:50:51 PMIch meine aber eben für die Fälle, wo man es per Section anders haben will, muss man sich etwas einfallen lassen.Das ist primär erst mal ein Problem des jeweiligen Modules. Wenn es mehrfache Instanzierungen unterstützt, so gehört da auch seine Templatezuweisung dazu.
Sollte keine Diskusion wert sein. In den Dateien herscht Chaos! Funktionen zwischen P Tags und keine Struktur. Einfach alles durcheinander geworfen. Nichts eingerückt und auf Qualität keine Rücksicht genommen...Ich erstelle grad ein Modul und es ist fürchterlich, dass ich mein Array, mein Object nicht einfach assignen und ans Templates übergeben kann. Damit kann ich es mir und dem Benutzer einfacher machen! Und der Code bleibt überschaubar und Strukturiert.
twig wird bereits seit der 2.8.3er serie ausgeleifert