물어보기Rhymix
조회 수 55 댓글 5

템플릿 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 값이 가변적인 경우 위 구문과 같이 사용할 경우 오류가 발생하네요.

처리할 수 있는 방법이 없을까요?

  • profile
    FAFAZ 2017.11.08 11:16:34
    $module_config[$key.'_group_srl'] 로 한번 해보세요
  • profile
    FAFAZ 2017.11.08 11:34:43
    get_object_vars($module_config) 를 사용해야할 수도 있겠네요
  • profile
    기진곰 2017.11.08 11:40:37

    cond 부분은 그대로 PHP 코드로 해석하기 때문에 그 안에서 {$key} 같은 템플릿 문법을 사용할 수 없습니다.

     

    PHP 코드라면 $module_config->{$key . '_group_srl'} 이렇게 하면 될 텐데,

    이것도 { } 기호가 템플릿 문법으로 잘못 해석될 가능성이 있어서 제대로 될지 모르겠네요.

  • profile
    prologos 2017.11.08 12:20:06

    아마 { }때문에 오류 날꺼에요.
    코드가 좀 길어지겠지만 if문을 활용 해 보세요.
    cond문 위쪽에 아래 조건문 삽입하시고...
    <!--@if($module_config->{$key . '_group_srl'}==$group_info->group_srl)-->
    {@ $checked=true; }

    <!--@else-->

    {@ $checked=false; }
    <!--@end-->

    cond문은 아래처럼 작성 해 보세요.
    checked="checked"|cond="$checked">

  • profile
    카이로스 2017.11.08 13:03:42

    답변해 주신 분들 모두 감사드립니다.
    FAFAZ 님이 알려주신 방법으로 하니까 잘 되네요~^^

    {@$module_config = get_object_vars($module_config)}

    $module_config[$key.'_group_srl']


서버에 요청 중입니다. 잠시만 기다려 주십시오...