안녕하세요?

화창한 그렇지만 바람이 좀 부는 오후 입니다.

 

다름이 아니오라 확장 변수extra_var1을 게시판에 설정하였습니다.

설정값은 "대기" "완료" 입니다.

 

스케치북 게시판 본문(_read.html)에서 확장변수값이 "대기"이면 코멘트 박스가 보이고

                                                                                 "완료"이면 코멘트 박스를 삭제하고 싶습니다.

 

 

_read.html 파일에서 코멘트 박스 관련 부분은 아래 코드 입니다.

 

<include cond="$oDocument->allowComment() && !$mi->cmt_wrt_position" target="_comment_write.html" />

 

어린 마음에 아래처럼 코드를 해보았으나 작동을 하지 않습니다.

 

<![email protected]($document->getExtraValueHTML($val->idx)=='대기')-->
<include cond="$oDocument->allowComment() && !$mi->cmt_wrt_position && $document->getExtraValueHTML($val->idx)=='대기'" target="_comment_write.html" />
<[email protected]($document->getExtraValueHTML($val->idx)=='완료')-->
<[email protected]>

----------------------------

<block cond="$document->getExtraValueHTML($val->idx)=='대기'">

<include cond="$oDocument->allowComment() && !$mi->cmt_wrt_position" target="_comment_write.html" />
</block>

 

 

코멘트 박스 가리는 방법 아니더라도

확장변수값이 "완료"이면 댓글을 달지 못하게 하고 싶습니다.

아시는 분 계시면 도와주세요~

감사합니다.

  • profile
    정확한지 모르겠는데, 이 때는 $document->getExtraEidValue('extra_vars1') 같은 걸로 조건을 잡으셔야 할 거예요.
  • ?

    $val->idx 는 순서값입니다. 명령문이 잘못된거죠.. '대기' 가 아니라 1,2로 하면 작동되실거에요

     

    정확하게 설명해드리자면

     

    getExtraValueHTML(1) == '대기'

     

    이렇게 사용하셔야 합니다.

  • ?
    $document-> 이건 list 에서 쓰시는거고
    view 나 write 에서는 $oDocument-> 로 하신다고 생각하시면 됩니다
    사용자정의 이름 eid 값으로 할때는 getExtraEidValue('eid값') 나 getExtraEidValueHTML('eid값')
    사용자정의 순서 (idx) 로 할때는 getExtraValue(순서) 나 getExtraValueHTML(순서) 로 하시면 됩니다.

    그런데 checkbox 나 radio, select 형태의 경우
    Value 로 하면 하나만 선택한 경우여도 무조건 배열로 값이 전달되요. 따라서 in_array 가 아닌
    == 로 비교하면 값이 무조건 안 맞아요
    대신 ValueHTML 로 하면 배열이 아니라 콤마(,) 로 implode 된 값이 들어가죠.

    따라서 현재 view 에서 원하시는거고 정확한 값을 이용하고픈거면
    $oDocument->getExtraEidValueHTML('extra_vars1') 로 하셔야합니다.
  • ? profile
    자세한 설명 감사드립니다.
    sejin7940님 덕분에 문제 잘 해결하였습니다.


    혹시나 참고하실 분 있을까해서 코드 정리해서 올립니다.

    <[email protected]($oDocument->getExtraEidValueHTML('extra_var1') == '대기')-->
    <include cond="$oDocument->allowComment() && !$mi->cmt_wrt_position" target="_comment_write.html" />
    <[email protected]($oDocument->getExtraEidValueHTML('extra_var1') == '완료')-->
    <[email protected]>
  • profile profile
    코드줄이기^^;
    <include cond="$oDocument->allowComment() && !$mi->cmt_wrt_position" && $oDocument->getExtraEidValueHTML('extra_var1') == '대기' target="_comment_write.html" />
  • profile

    답변 달아주신 모든 분들께 감사드립니다~~

    모두들 즐거운 하루되세요!!!

  • profile
    홍.. 확장변수를 이렇게 활용도 되겠군요.
    잘 보고 갑니다 >_<