smarty {php} Bereich

südpol

Erfahrenes Mitglied
Hi,

ich würde gerne in einem {php} {/php} in Smarty eine Smarty Variable ansprechen. Hat jemand eine Idee wie ich das machen kann?

Das ganze sollte dann in etwa so aussen:

Code:
  {php}print URL("FAQAdmin", "&action={$action}&forward=true", ""); {/php}

Die Variable $action ist dabei eine Smarty variable die auch nur dort verfügbar ist.

Zudem würde ich gerne in diesem Bereich eine Klasse ansprechen (geht das?) Wenn ich folgendes versuche dann behauptet er das getURL keine function der Klasse ist bzw. die Klasse an sich kein Objekt ist. (was falsch ist).

Code:
{php}print manURL->getURL("FAQAdmin", "&action={$action}&forward=true", ""); {/php}

Bin für jeden Tpp dankbar!

Gruß
 
Hi,

keiner einen Tipp zu dem Thema? Wenns einfach nur unverständlich gefragt ist bitte nachfragen - ich versuchs dann nochmal... :D

Danke
 
Tipp Nummer eins:
{php}-Blöcke in einer Template-Datei braucht man in 99,9 % aller Fälle nicht. Das widerspricht schlichtweg dem Grundgedanken der Trennung von Code und Design.

Tipp Nummer zwei:
Rufe einfach die Funktion in deiner PHP-Datei auf und belege eine Smarty-Variable mit dem Ergebnis. Anschließend reicht ein einfachen {$blubdiewub}
 
ok, dass man das normal nicht macht ist mir auch klar. Aber um Funktionen wie das Übersetzten von Phrasen oder das erstellen von URLs implementieren zu können dachte ich, dass es keine andere Möglichkeit gibt. Zwischenzeitlich habe ich aber den Tipp bekommen meine beiden Klassen als Smarty PlugIn zu laden - damit geht es dann...

Gruß
 
Ja, das wollte ich dir eigentlich noch empfehlen. Smarty bietet nämlich die Möglichkeit, sog. Modifikatoren oder auch Plug-Ins zu benutzen, Da reicht dann anschließend ein {$var|url} und du hast das Ergebnis.

Hab da gestern leider nicht mehr dran gedacht. War wohl schon zu spät. ;)
 
n00ne hat gesagt.:
Ja, das wollte ich dir eigentlich noch empfehlen. Smarty bietet nämlich die Möglichkeit, sog. Modifikatoren oder auch Plug-Ins zu benutzen, Da reicht dann anschließend ein {$var|url} und du hast das Ergebnis.

Hab da gestern leider nicht mehr dran gedacht. War wohl schon zu spät. ;)

Danke ;) habs ja auf einen anderen Weg rausgefunden. Die Funktion ist bis jetzt total an mir vorbei gegangen :-( Das hätte ich schon ab und zu brauchen können...

Hab zwar noch ein paar kleine Probleme mit dem Einbinden meiner Klasse aber ich hab gestern auch nur sehr kurz in die smarty Beschreibung geschaut und dazu noch in die Deutsch...

Gruß
 
Zurück