TWLan Forum

Full Version: Cookies in Templates
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
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^^
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
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!
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...
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
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
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.
du kannst auch via {php} den code direkt in die templates einbinden..
Also einfach statt:
<?php
echo "irgendwas";
?>

{php}
echo "irgendwas";
{/php}
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
Dann zeig vielleicht mal was du überhaupt versuchst statt uns immer nur Knochen (=Stückchen von Informationen) an den Kopf zu werfen
Zum Beispiel....

index.php
PHP Code:
<?php

// ...

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

?>

index.tpl
Code:
{$poly}
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?
Im rechten "Kasten" der Startseite über dem Login-Formular.
Ich meinte den PHP Code...
achso ._. nach dem Accelator code.. geht nur da, mach ichs davor geht gar nichts mehr
was recht logisch ist
aallsooo...
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...
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.
Oh gott ist PHP scheisse xD
Pages: 1 2