Smarty plugin eredménye változóba

üdv!

Írtam egy apró plugint a smartyhoz, ami visszaad egy stringet (gettype, egy var paraméter).


{assign var=foo value='{gettype var=$sVal}' }

name: '{$aTableHead.title}', type: '$foo'

{if $foo == "date"}
, dateFormat: 'Y-m-d'
{/if}

első esetben tudnám helyettesiteni ugye a {gettype var=$sVal}-al,
de a feltételbe nem írhatom be így... emiatt assign-nal létre akartam hozni egy változót, amibe belerakom, de nem úgy működik, ahogy kéne :(

{assign var=foo value='{gettype var=$sVal}'}

ez a sor eredményként "'}" (utolsó 2) karaktereket küldi a kimenetre... mint ha rosszul parse-olná :/

rosszul csinálok valamit?

ha vkinek van vmi elkerülő javaslata az ne tartsa magában :)

Hozzászólások

igen, csak a függvényem is smarty-ban van (pluginként).

itt van, hogy mi történik és mit szeretnék :)

1. smartynak átadok egy heterogén tömböt php-val.
2. smartyban ezen végigmegyek (foreach) és megszületik $sVal, ennek kéne, hogy milyen alaptípus (int, float, date, string)
3. erre írtam egy smarty plugint: gettype. ez így működik is: mondjuk csak beírom {gettype var=$sVal} erre kiirja a kimenetre a típusát.
4. tovább akartam ezzel menni és feltételt szeretnék írni, hogy ha dátum, akkor még irjon ki egy dátumformátumot is, de ez most lényegtelen.
A probléma ezzel az, hogy {if {gettype var=$sVal} == 'date'} {/if} ezt nem írhatom le, mert syntax error.
5. sebaj, gondoltam belerakom egy új változóba a smarty plugin visszatérési értékét (ami ugyan php függvénynek felel meg, de a változót csak smartyból tudom [$sVal]). de ezt szintén nem írhatom {assign var=foo value='{gettype var=$sVal}' }, mert ezt is rosszul értelmezi :(

lehet egyszerüsíteni kellene a koncepción...

Ezzel el lehet foni a kimenetet:
{capture assign=izeize}{gettype $valtozo}{/capture}

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!