Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP + Smarty + Javascript

mrkebab [20.08.2008 11:42:26]

#

Terve.

kuinka ihmeessä saan käyttööni muuttujan javascriptissä, jonka lähetän PHP:ssa smartylle ?

Eli asian ydin:

PHP:

$smarty->assign("arvo1", $value);
$smarty->display("template_sivu.tpl");

template_sivu.tpl, jossa javascriptiä:

{literal}
<script language="JavaScript">
var js_muuttuja = {literal}{$arvo1}{/literal};

</script>
{/literal}

Hölmömpi voisi luulla, että tämä toimii, mutta muuta tulosta ei tule, kuin virhelogiin tieto: syntax error: unidentified token '{' (Smarty_Compiler.class.php, line 1405)

Metabolix [20.08.2008 13:06:42]

#

Se varmaan kertoo myös viallisen template-rivin numeron, vai kuinka?

Arvon tulostuksen ympärillä haluat sulkea tagin ja avata taas uudestaan, nyt /-merkki on väärässä paikassa. Syntaksin helpottamiseksi kannattaa ehkä harkita muuttujien tulostusta ilman literal-tageja jossain erillisessä paikassa ja vain muun JS-koodin sijoittamista literal-tageihin, jottei tarvitse availla ja sulkea tageja jatkuvasti.

var x = {$x}, y = {$y}, teksti = "{$teksti}";
{literal}
function f() {
  while (1) {
    //...
  }
}
{/literal}

Chiman [20.08.2008 13:43:05]

#

Tämä on ehkä turhaakin rautalankaa, mutta tässä Metabolixin mainitsema virhe korjattuna alkuperäiseen koodiin:

{literal}
<script language="JavaScript">
var js_muuttuja = {/literal}{$arvo1}{literal};
</script>
{/literal}

mrkebab [20.08.2008 14:46:20]

#

Kiitos oikein paljon!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta