Antworten auf deine Fragen:
Neues Thema erstellen

smarty-engine gibt Ziffer 1 aus!...warum?

Moin
ich habe eingesehen, daß nun auch für mich die Zeit gekommen ist, aufgrund besserer Übersichtlichkeit in meinen Projekten, mich mit der smarty-engine zu beschäftigen. Nun habe ich auch schon das erste Problem. Bei Anlegen der Variablen
Code:
$smarty->assign('session',session_start());
$smarty->assign('config_inc',require_once ('../config.inc.php'));
$smarty->assign('blowfish_class',include("../blowfish.class.php"));
werden mir bei Eintrag der 3 entsprechenden Templatevariablen
Code:
{$session}{$config_inc}{$blowfish_class}
in der Ausgabe jeweils die Ziffer 1 angezeigt also 1 1 1.

Evtl. könnte mir jemand erklären warum!
 

Duddle

Posting-Frequenz: 14µHz

AW: smarty-engine gibt Ziffer 1 aus!...warum?

Ich habe smarty noch nicht benutzt, aber ich vermute dass dieses assign nicht viel mehr macht als
PHP:
$session = session_start();
//usw
Ergo steht dann in den Variablen der Rückgabewert der entsprechenden Funktion. Bei session_start() bspw. ist das
This function returns TRUE if a session was successfully started, otherwise FALSE.

Deshalb steht da ne 1 / True.


Duddle
 
AW: smarty-engine gibt Ziffer 1 aus!...warum?

Ja mit Assign wird eine Variable angelegt und im Template ausgeführt/angezeigt. Mich wundert nur warum das TRUE ausgegeben wird. Es steht ja ganz oben auf der Seite, noch vor dem ersten HTML-Tag. Dann muss ich also die Ausgabe irgendwie optisch unterdrücken.
 

SineTempore

Nicht mehr ganz neu hier

AW: smarty-engine gibt Ziffer 1 aus!...warum?

Ohne mich jetzt mit Smarty auszukennen:
Wenn du die Ausgabe nicht haben willst, warum schreibst du sie dann rein?
Lass doch einfach die Variablen im Template weg.
1. sollten die funktionen (z.b. session_start()) trotzdem ausgeführt werden
und 2. wenn du die Variablen nicht brauchst kannst du den Befehl ja auch einfach so ins php schreiben, ohne assign.
 
AW: smarty-engine gibt Ziffer 1 aus!...warum?

Bei Smarty geht es ja darum php-Programmierung und Design (Template) zu trennen und in den Templatedateien die php-Sachen über Platzhalter einzufügen. und darum haben die Templatedateien keine php-Endung. Somit kann ich keine normale session_start dort hinein schreiben.
 

SineTempore

Nicht mehr ganz neu hier

AW: smarty-engine gibt Ziffer 1 aus!...warum?

ja gut. aber an der stelle, in der du schreibst
PHP:
$smarty->assign('session',session_start());
kannst du doch einfach das assign weglassen und stattdessen nur
PHP:
session_start();
schreiben.
du solltest vllt höchstens dir die globale session variable in den templates verfügbar machen
PHP:
$smarty->assign('session',$_SESSION);
 

Chriss1987

me.drinkCoffee();

AW: smarty-engine gibt Ziffer 1 aus!...warum?

Hi,

wenn ich dich richtig verstehe, möchtest du eine Funktion als Variable setzen, damit du sie im Template ausführen kannst?

Funktionen können als Plugin definiert und im entsprechenden Verzeichnis abgelegt werden, dann kann man sie aus dem Template heraus aufrufen, der Aufruf könnte dann so aussehen:
HTML:
...{myFunc parm1="foo" parm2="bar"}...
Weitere Informationen zu Plugins findest du hier: http://www.smarty.net/docsv2/de/plugins

Wenn ich dich falsch verstanden habe und du auf die Session-Variable zugreifen möchtest, dann ist der Vorschlag von SineTempore der richtige Weg. Jedoch könntets du auch die Funktion assignByRef() verwenden, dann werden Veränderungen am Array für die Session übernommen.

Bitte teile uns doch mit, wie du die Variablen im Template verwenden möchtest, dann können wir dir besser helfen! ;)

BTW: Smarty ist ne feine Sache, ich nutze es auch regelmäßig. Drauf gekommen bin ich durch ein CMS-System, welches Smarty benutzt... ;)

HTH
Schöne Grüße aus dem Sauerland!
Chriss
 
AW: smarty-engine gibt Ziffer 1 aus!...warum?

Hi,

wenn ich dich richtig verstehe, möchtest du eine Funktion als Variable setzen, damit du sie im Template ausführen kannst?
Das trifft es auf den Punkt.
Wie gesagt ich beginne ja erst mich mit smarty auseinander zu setzen und habe mal quick&dirty begonnen. Die Plugin-Funktion war die Lösung :danke:
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben