Was mich daran noch stört ist, dass es dem Prinzip der Templates ja wider spricht, (...)
Das sehe ich etwas anders. PHP steuert die Templates, nicht umgekehrt. Das ist bei allen mir bekannten Template Engines so.
Möchte der Designer also plötzlich Box2 vor Box1 stehen haben, so müsste doch wieder in den PHP-Code eingegriffen werden.
Wenn Dein Designer auf die Idee kommt: "Hm, ich brauche neue Inhalte in Box1 ..." Dann muss er sowieso Kontakt zum Entwickler suchen. Eine Template gesteuerte Ausgabe von (neuen) Inhalten ist nicht möglich, weder mit vlibTemplate, noch Smarty, noch TinyButStrong.
Der Designer kann in Deinem Fall die Boxen ja gar nicht unterscheiden, weil sie beide "box.html" heißen. Wenn Du sie umbenennst (zwei verschiedene Namen), dann kann er sie auch wieder so anordnen, wie er möchte. Dann können die Templates auch verschiedene Template-Variablen enthalten.
Das eine solche modulare Struktur mit Templates funktioniert kann man an
Papoo sehen. Dort kannst Du ganze Module (wie Styleswitcher, Login-Maske) von Spalte links nach oben oder nach rechts verschieben.
Die Lösung basiert auf PHP und Smarty und wird über eine Oberfläche im CMS,
dem sogenannten
Modul-Manager gesteuert. Es ist möglich Module zu verschieben, zu löschen oder neue anzulegen.
Ich sehe keinen Grund, warum eine solche Lösung nicht auch mit vlibTemplate realisiert werden könnte. Die zugrundeliegenden IF-Strukturen beherrscht vlibTemplate auch. Variable TMPL_INCLUDES gehen auch, wie im anderen Post (siehe Hyperlink oben) dargestellt:
<tmpl_include file=doctype_header.htm>
<tmpl_include file=body.htm>
<tmpl_include file={var:content}>
<tmpl_include file=footer.htm>Das so etwas schwierig ist zu programmieren ... keine Frage. Man muss die Lösung aber in PHP finden, nicht in der Template-Technik.
Gruß
Claus