Layout aus mehreren Dateien includen?

Gesperrt
hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Layout aus mehreren Dateien includen?

Beitrag von hyperjojo » So 20. Apr 2003, 14:06

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

Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b » So 20. Apr 2003, 17:56

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.
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de

hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo » So 20. Apr 2003, 18:27

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

Code: Alles auswählen

$cont1 = ' CMS_CONTAINER[1] ';
und in der externen Datei an Stelle des Containers die eval-Funktion untergebracht

Code: Alles auswählen

eval($cont1);
.

Hast du noch eine Idee?? Das wäre echt ne tolle Sache!


ciao und thx!!

hyperjojo

hyperjojo
Beiträge: 102
Registriert: Fr 1. Nov 2002, 23:57
Kontaktdaten:

Beitrag von hyperjojo » So 27. Apr 2003, 13:22

Ich nochmal...

Habe jetzt den kompletten Code in eine Datei gepackt. Nun ist er wohl zu lange. Wieviel Zeichen kann der Layout-String haben??

Gibt es denn keine andere Möglichkeit? Kann mir jemand helfen??

Ich freue mich über jede Antwort!!!


ciao

hyperjojo

Gesperrt