get_template_vars bleibt leer

Dele

Aktives Mitglied
9. März 2011
28
7
Hallo,

ich habe ein kleines Problem mit get_template_vars() Diese bleibt leider leer wenn ich die von der .tpl Datei in eine .php Datei laden möchte.

Das steht in der .tpl drin
Code:
{assign var=modell value="1" scope=global}
{$ausgabe_modelle->modell}

Und das in der .php
PHP:
<?php
$mod = $smarty->get_template_vars('modell');
$erg = $GLOBALS['DB']->executeQuery('SELECT * FROM `xplugin_jtl_explosionszeichnung_expl_modell` WHERE id = $mod ' , 2);
$smarty->assign('ausgabe_modelle', $erg);
?>

Ich stehe gerade echt auf dem Schlauch wieso das nicht funktioniert.

Vielen Dank für eure Hilfe. LG Dele
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
10
AW: get_template_vars bleibt leer

Was soll denn "Modell" sein?

Alternativ versuch es mal mit

$foo = $GLOBALS['smarty']->get_template_vars('modell');
 

Dele

Aktives Mitglied
9. März 2011
28
7
AW: get_template_vars bleibt leer

Vielen Dank für deine Antwort, aber leider ist es immer noch leer.

Welches "Modell" meinst du?
 

Dele

Aktives Mitglied
9. März 2011
28
7
AW: get_template_vars bleibt leer

Das bezieht sich auf {assign var=modell value="1" scope=global}
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.477
289
AW: get_template_vars bleibt leer

Nicht
Code:
[COLOR=#000000][COLOR=#0000BB]$smarty[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]get_template_vars[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'modell'[/COLOR][COLOR=#007700]);
sondern
Code:
[/COLOR][/COLOR]$this->get_template_vars('modell');[COLOR=#000000][COLOR=#007700]
[/COLOR][/COLOR]
 

Dele

Aktives Mitglied
9. März 2011
28
7
AW: get_template_vars bleibt leer

Wenn ich $smarty mit $this tausche bekomme ich einen Serverfehler 500 und das Steht in der Log:

using $this when not in object context
 

Dele

Aktives Mitglied
9. März 2011
28
7
AW: get_template_vars bleibt leer

Ja das ist ein Plugin was nichts weiter machen soll als ein paar Datenbank abfragen und sie dann sortiert ausgeben. Die Pluginstruktur habe ich mit dem JTL Kickstarter erstellt. Jetzt wollte ich halt in der tpl und php Datein den Code einfügen. Die Ausgabe vom Plugin ist ausschließlich im Frontend.
 

casim

Sehr aktives Mitglied
26. Juni 2012
5.934
10
AW: get_template_vars bleibt leer

die php wird doch vor der tpl ausgeführt

sonst wäre ja auch das "assign" (Bereitstellung der Variable für das Template) überflüssig
 

Dele

Aktives Mitglied
9. März 2011
28
7
AW: get_template_vars bleibt leer

Jetzt wird mir einiges klar :)

Aber wie kann ich denn dann folgendes umsetzten wenn die PHP immer vorher geladen wird? Es soll eine Auswahl per Dropdown Menü erfolgen und jedes mal wenn eine Auswahl getroffen ist soll im nächsten Feld der passende Inhalt aus der Datenbank geladen werde. Das ganz muss 3 mal passieren bis dann das letzt Element geladen wird.
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.477
289
AW: get_template_vars bleibt leer

Wenn du den HOOK 99 verwendest und dort deine Variable mit $smarty->assign('modell', $mod); belegst, dann kannst du diese auch im Template über {$modell} ausführen.

Alternativ kannst du aber auch mit PHPQuery arbeiten und deinen DOM damit beliebig erweitern. Dafür musst du dann aber HOOK 140 nehmen.
 

Dele

Aktives Mitglied
9. März 2011
28
7
AW: get_template_vars bleibt leer

Ok vielen Dank für eure Hilfe. Ich werde es mal so versuchen.