Zur Navigation

Smarty Variable in PHP benutzen?

1 Horst_Braun

Hallo,

ich bin es mal wieder.

Über {$reporeid_print} kann ich mit im Html meine aktuelle reporeid (Zahl aus Datenbank) anzeigen lassen.

Wenn ich im PHP z.B. echo {$reporeid_print}; oder echo $reporeid_print; schreibe, dann geht das nicht.

Wie kann ich denn mit der {$reporeid_print} im php arbeiten?

Ich hoffe, dass das Problem klar ist.

12.05.2012 01:27

3 Horst_Braun

Hallo,

vielen Dank für die Antwort, aber keine Schreibweise hat geholfen.

echo $smarty->get_template_vars('$reporeid_print');
echo $smarty->get_template_vars($reporeid_print);
echo $smarty->get_template_vars('reporeid_print');
echo $smarty->get_template_vars(reporeid_print);

Es muss doch möglich sein die reporeid irgendwie zu bekommen.

12.05.2012 09:23

4 Jörg Kruse

So ist es korrekt:

echo $smarty->get_template_vars('reporeid_print');

Wenn nichts ausgegeben wird, liegt es vermutlich daran:

Die zugewiesenen variablen sind jedoch nur wärhend bzw. nach der Ausgabe des Template verfügbar.

In dem dortigen Codebeispiel erst, nachdem das Template mit $smarty->fetch() abgerufen wurde

12.05.2012 09:45 | geändert: 12.05.2012 09:47

5 Horst_Braun

Dieser Fehler kommt:
Fatal error: Call to a member function get_template_vars() on a non-object in /

Wenn ich nur "{$reporeid_print}" an gleicher stelle als Html eingebe, dann erscheint im Html auch die richtige Zahl.

12.05.2012 09:52

6 Jörg Kruse

Dann heißt das Objekt möglicherweise nicht $smarty. Ich würde im PHP-Quelltext die Stelle suchen, an der das Objekt erzeugt wird, dann hast du dessen Namen

$blablablubb = new Smarty;

12.05.2012 10:15

7 Horst_Braun

Ich kann den Ausdruck "reporeid_print" nur in Ausdrücken direkt im html finden. Im Php ist da keiner eingebettet.

Dieser hier sicht gut aus. Ich kann aber nichts damit anfangen:
$this->content->template['reporeid_print'] = $reporeid;

Hier hab ich auch noch was dazu gefunden:
http://phpxref.com/xref/papoo/_variables/reporeID.html

13.05.2012 21:30 | geändert: 13.05.2012 21:32

8 Jörg Kruse

Was hat denn die Suche nach dem Objektnamen ergeben? dazu musst du nach dem String "= new Smarty" suchen

Dieser hier sicht gut aus. Ich kann aber nichts damit anfangen:

$this->content->template['reporeid_print'] = $reporeid;

Damit kann man für sich genommen nicht viel anfangen. Das $this deutet darauf hin, dass sich der Abschnitt innerhalb einer Klassendefinition befindet, so dass da also auch nicht direkt drankommst. Vielleicht findest du ja heraus, wie $reporeid hier definiert wird, so dass du die Datenbankabfrage selber machen kannst. Ansonsten würde ich wie den dokumentierten Weg über get_template_vars() gehen, wozu du aber ja erstmal den Namen des Objekts herausbekommen musst (s.o.)

Hier hab ich auch noch was dazu gefunden:
http://phpxref.com/xref/papoo/_variables/reporeID.html

Du verwendest also papoo?

Die "Defined at" Zeilen verweisen auf Fundstellen innerhalb von Funktionen - darauf kannst du von außen nicht zugreifen

Edit:

Diese Seite ist wohl eher relevant:

http://phpxref.com/xref/papoo/_variables/reporeid.html

Die Variable heißt ja $reporeid und nicht $reporeID!

13.05.2012 22:17 | geändert: 13.05.2012 22:17

9 Horst_Braun

Hallo,

so funktiioniert es.
{php}
global $content;
$blabla = $content->template['reporeid_print'];
echo $blabla";
{/php}

Danke.

14.05.2012 23:16

... 1 Jahr später ...

10 Horst_Braun

Hallo,

ich habe das gleich Problem wieder. Diesmal mit folgendem Ausdruck:
{$galerie.gal_id}

Ich glaube der Punkt verursacht das Problem.

Jemand eine Idee?

01.06.2013 00:25