Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Cookies in Templates
#1
Hey Leute,
ich bastel gerade ein wenig an meinem DSLan Server rum und komme überhaupt nicht klar damit, PHP in Templates anzuwenden, also... dieses "Smarty". Ich versuche gerade Cookies zu setzen und abzurufen. Kann mir da jemand schnell mal ein Beispiel-Script geben? Ich hab gegooglet und viel probiert, aber hab es nicht geschafft... Und wie ist das eigentlich wegen den verschlüsselten PHPs? Wenn ich in der index.php die Variable $test deklariere, könnte ich sie in der index.tpl abrufen?

Danke^^
Reply
#2
Bei der TWLan ist es so, dass du für (ich glaube) jedes Template auch ne seperate PHP datei hast wo du deinen PHP Code reinschreiben kannst. Dort kannst du auch das Cookie setzen.

Eine Variable übergibst du dem Template mit der assign methode von Smarty.

Kleines Beispiel:
PHP Code:
<?php
// Einbisschen
// PHP
// Code
// Blabliblu
$randomVar 'I cant be more random...';

$smarty->assign('nameDerVariable'$randomVar);
?>

und die Variable benutzt du dann in der Template ganz einfach so:
Code:
{$nameDerVariable}
oder
Code:
{if $nameDerVariable == 'blabli'}Inhalt ist blabli{/if}
usw...

MfG
✝ RiP 
Weiter geht's  Cool
Reply
#3
Also vor dem Accelator-Code (ich hasse euch dafür -.-) in den php Dateien im htdocs Ordner. Ich werd's ausprobieren wenn ich Zeit hab, dankeschön!
Reply
#4
Wirds bei der 2.0 in der Form eh nicht mehr geben.
Und warum hasst du uns dafür?
Die einzige *legale* Alternative wäre die Nicht-Existenz des Projekts.
Also wenn dir das lieber wäre, ist da schon unterbewusst eine gewisse Grundironie zu erkennen...
LG
steffen
Reply
#5
Hör du mir auf mit der 2.0 xD
Klingt aber nicht schlecht. Ich weiß, ich (oder wir) wurde schon zu oft enttäuscht und es wurden zu oft falsche Versprechungen gemacht, aber ich bin schon sehr gespannt auf die Version, darum frage ich: Werden wir dieses Jahr noch etwas davon sehen? Sad

Naja.. ich sach mal sooo.. in Deutschland ist es die einzig *legale* Alternative.

Ich hab mal in der index.php, direkt nach dem <?php, also vor dem eAccelator eine Variable $test = "Hallo"; deklariert und sie in der index.tpl mit {$test} versucht abzurufen. Warum geht das nicht?

Mit freundlichen Grüßen
Reply
#6
Lies dir meinen Post nochmal durch ich schreibs nicht nochmal hin o_O

Kleine Tipps:
- Variable übergeben?
- Verwendest du die Variable richtig in der TPL?
Für beides lautet die antwort nein
✝ RiP 
Weiter geht's  Cool
Reply
#7
Oh sorry, hab das wohl gelesen und gleich wieder vergessen. Die Variable abfragen (mit einer if condition) scheint zu funktionieren! Das Auslesen der Variable mit {$nameDerVariable} funktioniert leider nicht Sad Es passiert nichts.
Reply
#8
du kannst auch via {php} den code direkt in die templates einbinden..
Also einfach statt:
<?php
echo "irgendwas";
?>

{php}
echo "irgendwas";
{/php}
Tools
Bitte auf aktuellste Version achten!
Reply
#9
Jo, das wird es mir sicherlich einfacher machen.
Trotzdem möchte ich Variablen von der PHP Datei an die Template Datei übergeben können, was mir nicht gelingt Sad
Reply
#10
Dann zeig vielleicht mal was du überhaupt versuchst statt uns immer nur Knochen (=Stückchen von Informationen) an den Kopf zu werfen
LG
steffen
Reply
#11
Zum Beispiel....

index.php
PHP Code:
<?php

// ...

$smarty->assign('poly''division');

?>

index.tpl
Code:
{$poly}
Reply
#12
Ich nehme mal an, dass du die Variable übergibst nachdem das Template angezeigt wird also kennt sie den Inhalt auch gar nicht. Wo hast du den Code hingepackt?
✝ RiP 
Weiter geht's  Cool
Reply
#13
Im rechten "Kasten" der Startseite über dem Login-Formular.
Reply
#14
Ich meinte den PHP Code...
✝ RiP 
Weiter geht's  Cool
Reply
#15
achso ._. nach dem Accelator code.. geht nur da, mach ichs davor geht gar nichts mehr
Reply
#16
was recht logisch ist
LG
steffen
Reply
#17
aallsooo...
Reply
#18
Also noch mal ganz langsam:

Du musst die Variable übergeben BEVOR das Template angezeigt wird. Wenn du das bei der index.php ganz am schluss machst, machst du dies NACHDEM das Template angezeigt wrid und somit kennt das Template noch gar nicht. Versuchs mal in ganz am Schluss von der include.inc.php. Falls das nicht klappt musst du Steffen bzw. Molt fragen in welcher Datei das gehen wird...
✝ RiP 
Weiter geht's  Cool
Reply
#19
Naja es dürfte prinzipiell überall gehen.
Im Notfall Alten Content mit ob_start() und ob_end_clean() wrappen
und eben $tpl->assign
und dann $tpl->display
selber machen.

Offiziell supporte ich die alte Version aber nicht mehr, weil meine Konzentration
lieber auf der 2.0 liegt, und die alte offiziel discontinued ist.
LG
steffen
Reply
#20
Oh gott ist PHP scheisse xD
✝ RiP 
Weiter geht's  Cool
Reply




Users browsing this thread: 2 Guest(s)