Hi, liebe Leute,
ich habe mein Layout in mehrere Dateien ausgelagert, die per include() in das Layout eingebunden werden. Problem: Die CMS-Container in den externen Dateien funktionieren nicht, es kommt FM "Parse error: parse error in /var/www/htdocs/contenido/front_single/inc/box5.inc.php on line 46". Das ist genau die Stelle, in der der CMS-Container in der externen Datei liegt.
Gibt es eine Möglichkeit das trotzdem hinzubiegen?? Sonst wird mein Layout sehr unübersichtlich, wenn das alles in einer Datei liegt.
Bin über jede Anregung dankbar!!!
ciao
hyperjojo
Layout aus mehreren Dateien includen?
dein layout wird als String in der Datenbank hinterlegt. Beim modifizieren von Texten etc. wird das Layout aus der Datenbank geholt und die entsprechenden CMS_CONTAINER[x] durch die jeweiligen Modul-Outputs ersetzt. erst wenn alles ersetzt wurde, wird das Layout ausgegeben und damit auch ausgeführt.
Ich will damit sagen, dass die anderen CMS-CONTAINER nie gefunden werden , weil die Dateien nicht includet werden. Es gibt keine Möglichkeit , Dateien vor dem parsen zu includen. Du musst alle Container im Hauptlayout haben. Du kannst nur versuchen, die Module selber zu parsen. So nach dem Motto:
<!-- Layout ... -->
<?php $cont1 = ' CMS_CONTAINER[1] '; ?>
<!-- weiteres Layout -->
und in deinen externen Layout-Parts schreibst du nicht CMS_CONTAINER - sondern <?php eval($cont1); ?>
klappt natürlich nur, wenn die Module keine ' verwenden.
Ich will damit sagen, dass die anderen CMS-CONTAINER nie gefunden werden , weil die Dateien nicht includet werden. Es gibt keine Möglichkeit , Dateien vor dem parsen zu includen. Du musst alle Container im Hauptlayout haben. Du kannst nur versuchen, die Module selber zu parsen. So nach dem Motto:
<!-- Layout ... -->
<?php $cont1 = ' CMS_CONTAINER[1] '; ?>
<!-- weiteres Layout -->
und in deinen externen Layout-Parts schreibst du nicht CMS_CONTAINER - sondern <?php eval($cont1); ?>
klappt natürlich nur, wenn die Module keine ' verwenden.
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net
Der-Dirigent: http://der-dirigent.de
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net
Der-Dirigent: http://der-dirigent.de
Hallo Sven777b,
vielen Dank für deine Antwort. So, wie ich dein Lösungsansatz verstanden habe, funktioniert es nicht, es kommt FM "Parse error: parse error in /var/www/htdocs/contenido/front_single/index.php(128) : eval()'d code on line 19"
Ich habe im Layout am Anfang die Vatiable definiert und in der externen Datei an Stelle des Containers die eval-Funktion untergebracht .
Hast du noch eine Idee?? Das wäre echt ne tolle Sache!
ciao und thx!!
hyperjojo
vielen Dank für deine Antwort. So, wie ich dein Lösungsansatz verstanden habe, funktioniert es nicht, es kommt FM "Parse error: parse error in /var/www/htdocs/contenido/front_single/index.php(128) : eval()'d code on line 19"
Ich habe im Layout am Anfang die Vatiable definiert
Code: Alles auswählen
$cont1 = ' CMS_CONTAINER[1] ';
Code: Alles auswählen
eval($cont1);
Hast du noch eine Idee?? Das wäre echt ne tolle Sache!
ciao und thx!!
hyperjojo