Smarty: Variable in {php} - Tag nicht sichtbar, trotz global

Begonnen von k00ni, 16. September 2008, 09:53:53

Vorheriges Thema - Nächstes Thema

k00ni

Hallo,
ich habe folgenden Code:
 

{* Wenn das Wort die Zeichenkette \'text\' enthält, dann den FCK-Editor anzeigen. *}
{if strstr ( strtolower ( $ln.tag ) , \'text\' ) != \'\'}
      {php}
                  global $ln;
                 echo var_dump ( $ln );
                  pEditorHTML ($ln [\'word\'] , $ln [\'id\'] );
       {/php}
{else}

 
 
Rund um den Code herum ist eine foreach-Schleife und dort kommt auch $ln her. Nur ist es zwischen den {php}-Tags bei var_dump gleich NULL. :gaga:

Powie

Das geht nicht. Ich schätze du hast $ln vorher dem Template assigned, somit ist es zwar für das Template verfügbar, aber nicht für den php Code welcher im Template ausgeführt wird.
Das hilft dir weiter: http://www.smarty.net/manual/de/api.get.template.vars.php\" rel=\"external nofollow\">http://www.smarty.net/manual/de/api.get.template.vars.php

k00ni

Ich hab das Ding nicht per assign im Template registriert. Es wird wie geschrieben in der foreach-Schleife mit einem Wert belegt. Nur leider ist es nicht im php-Code zu sehen.
Schließe ich daraus, dass in Smarty \"erstellte\" Variablen NICHT in {php}-Tags nutzbar sind?!

k00ni

Also,
es geht nun mit folgender Krücke:
1. in der PHP-Datei die Smarty-Instanz in sich selbst registrieren
 

$Obj_smarty->assign(\'Obj_smarty\', $Obj_smarty);

 
 
2. Die Instanz abfragen und Variable explizit zuweisen
 

{php} 
       global $Obj_smarty;
$ln = $Obj_smarty->get_template_vars(\'ln\');
       echo var_dump ( $ln );
       load_fck_editor ($ln [\'word\'] , $ln [\'id\'] , 180 );
{/php}

 
 
Damit hat meine in der foreach-Schleife erstellte Variable $ln nun genau den richtigen Wert und man kann damit arbeiten.
 
Grüße

Powie


Original von k00ni Ich hab das Ding nicht per assign im Template registriert. Es wird wie geschrieben in der foreach-Schleife mit einem Wert belegt. Nur leider ist es nicht im php-Code zu sehen.
[/quote]
Kann ich mir jetzt nicht vorstellen wie das funktioniert ohne den Code zu sehen.
Schließe ich daraus, dass in Smarty \"erstellte\" Variablen NICHT in {php}-Tags nutzbar sind?![/quote]
Ja das ist korrekt.

k00ni

Es gaid! /uploads/emoticons/icon_e_surprised.gif.a8707b3f35a569cb4cfe563fc72ef78d.gif\" alt=\":-o\" /> (siehe mein letzter Beitrag)

Powie


kaiyara

nun komme ich aber ins grübbeln, denn ich habe nichts an den Schreibrechten geändert und es lief bis heute (?)

Kaiyaraaaaaaa..........


all your base are belong to us