2012-05-17 2 views
0

Dans mon modèle Smarty j'ai une série de cases à cocher qui sont nommées "region_codes", qui contiennent une valeur de "GB", "US", "EU", etc. ...détecter si un tableau checkbox a été coché avec Smarty 2

Voici le code dans mon template Smarty:

<input type="checkbox" name="region_codes[]" value="{$region_code}" {if isset($smarty.request.region_codes.$region_code)}checked="yes"{/if} /> 

Comme vous pouvez le voir dans l'extrait de code, j'ai essayé de détecter si la case à cocher une a été cochée lorsque le formulaire est soumis. Comment cela se passe-t-il dans Smarty, car le code ci-dessus ne fonctionne pas. Il ne lance pas d'erreur, mais il ne voit pas la valeur soumise.

EDIT: Lorsque j'imprime le paramètre region_codes qui vient à travers demande dans mon template Smarty je reçois ceci:

[region_codes] => Array ([0] => EU [1] => RW)

Répondre

3
{if $region_code|in_array:$smarty.request.region_codes}checked="yes"{/if} 
1

Modifier la condition

{if $smarty.request.region_codes|in_array:$region_code}checked="yes"{/if} 
+0

Ce me donne cette erreur: 'Attention: in_array() s'attend à ce que le paramètre 2 soit array, chaîne donnée dans /%%C6^C6D^C6DA2CF8%%redirect_list.tpl.php à la ligne 87' – crmpicco

+0

@crmpicco vérifier ma réponse – heyanshukla

+0

@heyanshukla Got you, thata bien fonctionné. Merci. – crmpicco

Questions connexes