Archiv verlassen und diese Seite im Standarddesign anzeigen : Template aufrufen klappt net!
hab hier die funktion zum aufrufen eines templates:
function gettemplate($template) {
$header=implode("", file("templates/header.htm"));
$footer=implode("", file("templates/footer.htm"));
if(file_exists("templates/".$template.".htm"))$tmpl =
implode("", file("templates/".$template.".htm"));
else {
$tmpl= implode("", file("templates/error.htm"));
$tmpl = str_replace("%%fehler%%","Seite nicht gefunden",$tmpl);
}
return $tmpl;
}
hab dann in der php-file wo ich das template aufrufen will den code:
$tmpl=gettemplate("main");
jetzt will aber der aufruf des templates nicht klappen. die seite main.htm ist im ordner templates vorhanden nur wird nicht der header, der footer und die seite ausgegeben. könnt ihr mir da weiterhelfen?
Ansätze, Fehlermeldungen, Testausgaben, sonstige Bemerkungen?
nix... einfach nur ne leere seite mit quelltext <html><head></head><body></body></html>... mehr ist da nicht. kein header, kein footer, keine seite, kein nix! das is ja grad das komische
Ich hasse leute, die es einfach nicht schaffen, auf mein komplettes posting einzugehen.
oder bezieht sich das "nix" auch auf die Ansätze und Testausgaben und sonstigen Bemerkungen?
Wenn dem so ist, enschuldige bitte meinen Vorwurf und lass dir unterstellen, dass du keinerlei Eigenengagement zeigst.
mit dem nix mein ich, dass da einfach nix kommt. der gibt keine ansätze von dem aus was er soll oder so. ich will einfach nur das die funktion klappt mit dem befehl zum aufrufen! aber der macht das net und ich fonde net den fehler!
der gibt keine ansätze Nee! Die sollst du liefern, damit ich dir nicht deinen Code schreiben muss.
ich will einfach nur das die funktion klappt Wer will das nicht. Aber von nichts kommt nichts. Oder neudeutsch: von nix kommt nix. :)
Wenn du mir nichts lieferst, werde ich dir in diesem Thread auch keine unterstützung mehr liefern.
gibst du den tpl-inhalt überhaupt aus?
ansonsten, wie immer, ... script schritt für schritt nachvollziehen und die stelle suchen, wo das erste mal nicht das passiert, was du erwartest. error_reporting auf E_ALL setzen ...
genial ist ja auch, das $header und $footer zwar definiert werden:
$header=implode("", file("templates/header.htm"));
$footer=implode("", file("templates/footer.htm"));
aber, bin ich blind (?), was macht er weiter damit...
ich tippe darauf das er kein print oder echo verwendent..
ähnliches, wie es auch der hund bemängelt hat.
Aber wer keine Testausgaben machen will... :D
sry hatte den rest des codes net mitgeliefert.
function gettemplate($template) {
$header=implode("", file("templates/header.htm"));
$footer=implode("", file("templates/footer.htm"));
if(file_exists("templates/".$template.".htm"))$tmpl =
implode("", file("templates/".$template.".htm"));
else {
$tmpl= implode("", file("templates/error.htm"));
$tmpl = str_replace("%%fehler%%","Seite nicht gefunden",$tmpl);
}
$tmpl = str_replace("%%header%%",$header,$tmpl);
$tmpl = str_replace("%%footer%%",$footer,$tmpl);
return $tmpl;
}
das passiert mit header und footer
gibst du den tpl-inhalt überhaupt aus?
ansonsten, wie immer, ... script schritt für schritt nachvollziehen und die stelle suchen, wo das erste mal nicht das passiert, was du erwartest. error_reporting auf E_ALL setzen ...
Kümmerst du dich auch um dein Problem?
ich würd ma sagen, dass es bei der if-abfrage net klappt... der gibt auch keinen error aus, obwohl ich error_reporting auf E_ALL hab... der gibt nur ne leere seite aus...
penizillin 07-09-2005, 12:57 zeig doch mal, wie du gettemplate() anwendest.
hab dann in der php-file wo ich das template aufrufen will den code:
$tmpl=gettemplate("main");
hab natürlich die function.php wo die gunktion gettemplate ist mit include eingebracht
penizillin 07-09-2005, 13:02 wie wär's mit anschließendem var_dump($tmpl)?
Quetschi 07-09-2005, 13:06 Man weiß immer noch nicht ob er irgendwann auch mal irgendwas ausgibt. :dontknow:
Du willst wissen ob das Script in deine If-Abfrage reingeht? mach halt mal ne Testausgabe rein :rolleyes:
mit var_dump($tmpl) gibt der schonmal header und footer aus... aber die seite klappt irgendwie net. durch die if-abfrage wird ja ein selbstgeschriebener error eingefügt. der sagt das die seite main.htm nicht im ordner templates/ vorhanden ist, obwohl die da ist
penizillin 07-09-2005, 13:15 nein, ist sie nicht. php lügt in äußerst seltenen fällen.
check mal den pfad.
main.php gettemplate(main): root/admin/
main.htm template: root/admin/templates/
da die php auf root/admin/templates/main.htm zugreifen sollte... header + footer + error klappt ja nur net das template was soll...
penizillin 07-09-2005, 13:30 ermittle den absoluten pfad (evtl. mit realpath()) und gib ihn an file_exists().
Pfad ok
/usr/export/www/vhosts/funnetwork/hosting/basti2305/NEW/admin/templates/main.htm
penizillin 07-09-2005, 13:38 glückwunsch. und file_exists() drauf?
klar... hab mit realpath() den pfad ermittelt und den dann mit file_exists() überprüft
penizillin 07-09-2005, 13:43 ok, dann können wird das thema ja als beendet ansehen?
|
-
- |