{php} {/php} in index.tpl bewirkt nicht


klausi89

Erfahrenes Mitglied
#1
Hallo ich habe mal eine Frage und zwar habe ich ein script welches mit einer template engine arbeitet.nun möchte ich gerne eine Datei header und footer includen um eben mein Layout zu verwendend.

Leider funktioniert der Befehl {php} {/php}
Dort nicht obwohl im Netz das so beschrieben wird.

Weiß da eventuell zufällig jemand wie man das lösen könnte....
 

Yaslaw

n/a
Moderator
#2
Nun ja, es währe schon interessant zu wissen, welche template engine du verwendest.
Ev. auch ein Link zu "dort im Netz", da dieses Netz nicht gerade klein ist.

Es könnte Smarty sein.
Dort steht in der offiziellen Doku das folgende
{php} | Smarty
Note
As of Smarty 3.1 the {php} tags are only available from SmartyBC.
Falls es das ist, dann rate ich dir IMMER wenn du eine Lösung in einem Forum findest, diese mit der Origianl-Doku zu prüfen. Gilt nicht nur für Smarty.

Aber sowas sollte man eh nie verwenden. php in Templates ist nur um unsauberen Code zu korrigieren
 

klausi89

Erfahrenes Mitglied
#3
Hallo und danke schon mal für die schnelle Antwort....

Für meine Zwecke wäre es aber sinnvoll da ich das Script in meine bestehende Seite integrieren möchte und eben eine Header und footer file habe...und aufgrund einfacher Aktualisierung eben so bräuchte....

Die php template class scheint wohl von dieser Seite zu sein...

Ein eigenes Template System entwickeln

Obwohl dort die Möglichkeit mit {php}{/php} angegeben ist...bewirkt dies bei mir das das genauso ausgegeben wird {include file="header.tpl"}...also es steht dann so auch auf der Seite und führt eben nichts aus...leider kenne ich mich mit solchen engines nicht aus bräuchte dies aber dringend...könnte man diese engine auch irgendwie komplett entfernen?
 

Yaslaw

n/a
Moderator
#4
Dein Link führt zu einer Seite um ein eigenes Template System zu schreiben. Dann liegt es an dir, die Tags {php} auszuprogrammieren.
Aber ehrlich, du bist glaub von dort dem Link zu Smarty gefolgt und dieses dann verwendet.. Denn der {include..} sieht ebenfalls stark nach Smarty aus. Mann muss da übrigens ggf. noch den Pfad etc., anpassen.

Geh auf die Smarty-Seite. es hat wirklich eine gute Anleitung: Smarty 3 Manual | Smarty
Ausbauen würde ich es nicht. Da kannst du gleich das ganze Projekt neu schreiben - und mir scheint, dass ist nicht von dir.

Zum {php}. Folge dem Link in meinem ersten Post und dort gibts einen Link zu SmartyBC, dass du brauchen würdest um {php} zu nutzen. Ich rate dir aber dringendst davon ab.

Fazit: Du hast 2 Möglichkeiten und beide sind einen Eingriff in das bestehende Projekt
1) Binde SmartyBC ein. Doch neuprogrammierungen sollte man nicht bereits mit benötigter Abwertskompatibilität umsetzen
2) Schreibe eine Funktion und häng sie im PHP hinter dem Template hinzu. Empfohlene Version

So oder so kommst du nicht umhin, dich mit dem Template System auseinanderzusetzen oder Geld in die Hand zu nehmen und es programmieren zu lassen.
 

klausi89

Erfahrenes Mitglied
#5
Ok danke...Funktion dafür schreiben wird wohl auch nix so fit bin ich mit php dann doch nicht....ich weiß allerdings jez schon das ich diese template engine nicht mag leider brauche ich dringend das script...naja dann schau ich mir das mit der Smart.bc mal an und hoffe das ich damit irgendwie weiter komme...trotzdem danke

Allerdings wird dort ja auch wieder mit {php}{/php} gearbeitet und das funktioniert bei mir wie gesagt überhaupt nicht
 

Yaslaw

n/a
Moderator
#8
Nein. Weil:
a) Ich keine Ahnung über dein Programm habe
b) Es dir eh nix nützt, solange du dich nicht damit auseinander setzt
c) Die Anleitung von Smarty ganz viele Beispiele hat

Lies dich ein und stell spezifische Fragen.