Autor | Zpráva | ||
---|---|---|---|
maks Profil |
#1 · Zasláno: 28. 1. 2010, 23:25:32
Ahoj,
mám vytvoření konfigurační textový soubor, config.conf, kde mám definované překlady pro různé jazykové mutace. V templatě procházím pole foreachem: {foreach from=$data item=item key=key} <label for={$key}>{#$key#}</label> <input type="checkbox" class="checkbox" name={$key} id={$key} {if $item == 1}checked="checked" {/if}/> {/foreach} Otázka je tedy prostá: Jak dostat proměnnou mezi dva "#", abych podle ní mohl přiřazovat texty? Jde o to, že těch proměnných tam bude střídavě a bude jich tam dost (cca 30), proto je nemohu vypsat po jedné (a bylo by to asi i nesystémové :-)) Děkuji. |
||
AM_ Profil |
#2 · Zasláno: 28. 1. 2010, 23:50:06
zkusil bych alternativní zápis $smarty.config.$key, nejsem si ale 100% jistý, jestli to funguje.
|
||
lingvik Profil |
#3 · Zasláno: 29. 1. 2010, 08:55:38 · Upravil/a: lingvik
maks:
Ahoj, já jsem tohle dělal pomocí smarty funkce eval. V PHP jsem do Smarty nacpal proměnnou, jejímž obsahem nebyl klíč do konfiguračního souboru, ale rovnou celý smarty tag pro vypsaní hodnoty. Asi takhle: PHP: $a = '{#klic#}'; $smarty->assign('a', $a); Template: {eval($a)} Píšu to z hlavy a už to je nějaká doba, co jsem to naposled dělal, tak to snad mám správně. Principiálně to ale funguje. Jenom je potřeba dát bacha na to, co se do evalu dostane, protože eval je obecně nebezpečný. Je ovšem pravda, že přístup pomocí $smarty.config.$key |
||
maks Profil |
#4 · Zasláno: 30. 1. 2010, 19:31:59
lingvik:
„{eval($a)}“ evalu bych se rád vyhnul, nebude-li nezbytně nutný. „Je ovšem pravda, že přístup pomocí $smarty.config.$key“ bohužel, hází tutéž chybu jako se samotnou proměnnou $key. |
||
Časová prodleva: 6 dní
|
|||
lingvik Profil |
#5 · Zasláno: 5. 2. 2010, 10:26:30
maks:
Co jsi použil? {#$smarty.config.$key#} {$smarty.config.$key} |
||
Časová prodleva: 13 let
|
0