Extra Form
PHP PHP 7.2
CMS XpressEngine

<input type="checkbox" name="best_filter"  />

 

현재는 이 상태로 사용자가 체크를 하면 체크가 되는 것 외 없습니다.

 

그런데 이게 검색시 조건으로 사용하게 되는데 post로 조회된 결과가 뿌려줄때 이전에 체크된 것을 확인해서 다시 체크를 자동으로 해주게 추가해주려고 합니다.

 

구글링을 하면 아래와 같은 예제를 볼 수 있는데 php를 잘 모르다보니 이해가 어렵네요.

 

<input type="checkbox" name="foo" value="bar" />

이것을 다음과 같이 변경하고 싶습니다.

 

<input type="checkbox" name="foo" value="bar"
    <?php echo empty($_POST['foo']) ? '' : ' checked="checked" '; ?>
/>

 

 

 

<input type="checkbox" name="best_filter"  아마도 여기에 추가가 될 것 같습니다.  />

 

xe 게시판 스킨에서 사용하는 템플릿에 적용하려고 합니다.

  • ?
    전송시 hidden으로 validator 값을 같이 보내고 checkbox에 checked 속성을 cond문법으로 validator==값 일때만 체크되게 하면 되지않을까요? 모바일이라 테스트나 코드작성이 어렵네요
  • ? Lv30
    <!--@if($_POST['best_filter'])--> checked="checked"<!--@end-->

    요렇게 해봤는데 뭔가 부족하거나 잘못된 시도 인듯 안되네요. value 값이 있어야 하는건지....
  • Lv30 ?

    앗! 해결하셨다니 다행입니다

  • Lv30

    살짝 다른 방법이긴 하지만..

    <!--@if(Context::get("best_filter"))--> checked="checked"<!--@end-->

     

    이것으로 적용했습니다.

  • Lv30 Lv24
    엑스이에선 이방법이 맞습니다. $_get $_post 전부 xe가 아닌 php에서 사용됩니다
  • Lv24 Lv30
    아.. 그럼 윗줄에서 PHP로 $_POST['best_filter'] 값을 가져온 후 했으면 가능했었겠네요. 뭐 결과적으로는 두가지 모두 다 마찬가지이니 해결 되었지만 다음에 비슷한 시도를 할때 해보겠습니다.
  • Lv30 Lv24
    post get 쓰실때엔 form의 타입을 잘 보시고 가져오도록 해보세요 ㅎ
  • Lv24 Lv30
    네~ 생각해보니 예제 자체도 php인데 머리가 잠시 돌지 않았었네요 ㅋ