include in Templates

gugu

Gesperrt
Hi all

Ich habe bereits die Suchfunktion benutzt aber nichts gefunden was mir helfen konnte...

Ich habe folgendes Problem. Ich habe eine Seite komplett mit Templates aufgebaut und nun möchte ich in das Template was includen. Da dies im Template ja mit include nicht funktioniert hab in der index.php eine Variable erstellt

PHP:
$include_head = include ("http://xxxxxxxxxxx.xxx/include_middle.php");

und dann in dem template die Variable $include_head aufgerufen. Nun habe ich das Problem, dass die datei zwar includet wird aber nicht an der gewünschten Stelle sondern am Seitenanfang :rolleyes:

Kann mir bitte jemand helfen :-( Thx schon mal im Voraus
 
Besser wäre wohl das hier:
PHP:
$include_head = file_get_contents("http://xxxxxxxxxxx.xxx/include_middle.php");
oder für altere PHP-Versionen [phpf]file[/phpf] mit anschließendem [phpf]implode[/phpf].
 
Da wird die Seite dort eingefügt, wo du das include() setzt. Deswegen geht das nicht.
Hast vielleicht eine Zeile in der Variable aber nicht mehr. Ich glaub da müsste sogar True drin stehen.

Versuch das mal:

PHP:
ob_start();
include ("http://xxxxxxxxxxx.xxx/include_middle.php");

$include_head = ob_get_contents();

ob_end_clean();


edit: oder die Variante von ludz :)
 
hi

erstmal thx für die schnellen Antworten aber leider...

@ ludz deine Variante funktioniert leider nicht... ich hab jetzt in meine index.php den code von dir geschrieben mit dem file_get_contents und dann an der Stelle im Template an der ich die includete Datei haben will <? $include_head ?> aber es kommt gar nichts - nicht mal eine Fehlermeldung :-(

@ KoMtuR was meinst du genau wo muss ich welchen Text hinschreiben? Ich hab hier eine index.php in der nach der Reiche die verschiedenen Templates aufgerufen werden und eben die Template Datei in die ich was includen will...
 
du schreibst statt deines Textes einfach meinen hin. Dann müsste es gehen. Die ob_ Fkt. leiten die Ausgabe der Datei in die Variable um. Zwischen ob_start() und ob_end_clean() kommt nur der include() Befehl und die Übergabe an die Variable ( $include_head = ob_get_contents() )

p.s.: Bei ludz seiner Variante. Versuchs mal mit echo() ;)
 
Hab jetzt deinen Code an die Stelle gesetzt an der ich vorher meine Variable hatte in der index.php - das gleiche wie bei der Lösung von ludz... nichts, nicht mal ne Fehlermeldung :-(

EDIT: mit echo gibt er mir

EDIT2: es muss an der einbindung im Template liegen ich hab gerade versucht an der Stelle an der ich die Datei haben will ein einfaches <? echo "test"; ?> zu setzen - wird mir ebenfalls nicht angezeigt. Es muss also an der Einbindung liegen - jemand eine Idee?

Parse error: parse error, unexpected T_ECHO in /index.php on line 47
 
Zuletzt bearbeitet:
Wie wärs mal mit Codeschnippseln?! Wie sieht Zeile 47 und die Zeilen davor und danach aus?
Des Weiteren hab ich keine Ahnung, was du dir unter Templates vorstellst?! Bindest du deine "Templates" immer per include ein oder hast du – wovon ich eigentlich ausging – ein richtiges Template-System, wo du beispielsweise einer Variable einen bestimmten Inhalt / Wert zuweist und anschließend die Templates, worin auch die vorher gesetzte Variable enthalten ist, durch einen Parser laufen lässt, der die Variablen durch ihren Wert ersetzt (siehe Tutorial in der entsprechenden Sektion).

Lass dir bei meiner Variante einfach mal die Variable $include_head ausgeben. Was passiert dann?
 
da es irgendwie mit php nicht funktioniert hat bin ich heute rein zufällig draufgekommen es mit java zu versuchen und siehe da es klappt :D trotzdem thx an alle die mir geholfen haben!
 
Zurück