템플릿 cond 문법 질문 드립니다.
<p loop="$lang->items=>$key,$val">
<input type="radio" name="{$key}_group_srl" value="{$group_info->group_srl}" checked="checked"|cond="$module_config->{$key}_group_srl == $group_info->group_srl" /> {$group_info->title}
</p>
key 값이 가변적인 경우 위 구문과 같이 사용할 경우 오류가 발생하네요.
처리할 수 있는 방법이 없을까요?
댓글 5
cond 부분은 그대로 PHP 코드로 해석하기 때문에 그 안에서 {$key} 같은 템플릿 문법을 사용할 수 없습니다.
PHP 코드라면 $module_config->{$key . '_group_srl'} 이렇게 하면 될 텐데,
이것도 { } 기호가 템플릿 문법으로 잘못 해석될 가능성이 있어서 제대로 될지 모르겠네요.
아마 { }때문에 오류 날꺼에요.
코드가 좀 길어지겠지만 if문을 활용 해 보세요.
cond문 위쪽에 아래 조건문 삽입하시고...
<!--@if($module_config->{$key . '_group_srl'}==$group_info->group_srl)-->
{@ $checked=true; }
<!--@else-->
{@ $checked=false; }
<!--@end-->
cond문은 아래처럼 작성 해 보세요.
checked="checked"|cond="$checked">
답변해 주신 분들 모두 감사드립니다.
FAFAZ 님이 알려주신 방법으로 하니까 잘 되네요~^^
{@$module_config = get_object_vars($module_config)}
$module_config[$key.'_group_srl']