묻고답하기
특정 확장변수 유무만 체크할 수 있을까요?
2014.04.15 11:48
$oDocument->isExtraVarsExists()
이렇게 쓰면 확장변수 자체의 유무만 체크하게 되는 것 같습니다.
예를들면 이런식으로 해서
<span class="nick member">
<!--@if($mi->et_var=='2' && $oDocument->isExtraVarsExists() && (!$oDocument->isSecret() || $oDocument->isGranted()))-->
<block loop="$oDocument->getExtraVars() => $key,$val"><!--@if($val->eid=='writer')-->{$val->getValueHTML()}<!--@end--></block><!--@else-->{$oDocument->getNickName()}</span><!--@end-->
확장변수에 writer 항목이 입력되어 있으면 그 값을 출력하고, 아니면 그냥 글쓴이 이름을 출력하고 싶은데..
이게 $oDocument->isExtraVarsExists() 이렇게 하면 writer 항목 유무와 상관없이 다른 확장변수가 하나라도 입력되어 있으면 그냥 확장변수를 출력해버리더라구요..
개별 확장변수 유무를 체크하려면 어떻게 해야할른지요?
- [2008/05/20] 웹마스터 팁 글 쓸 때 자동으로 비밀 글 체크하기(''비고수''님의 팁) *1
댓글 6
-
꿈꾸는돌
2014.04.15 12:13
-
sejin7940
2014.04.15 12:17
-
꿈꾸는돌
2014.04.15 16:12
고맙습니다! ^^
다만 적용시킬 때 <block>문이 들어가야 되는 것 같습니다.
아래와 같이 적용시켰습니다.
<!--@if($oDocument->getExtraEidValue('writer'))-->
<block loop="$oDocument->getExtraVars() => $key,$val"><!--@if($val->eid=='writer')-->{$val->getValueHTML()}<!--@end--></block><!--@else-->{$oDocument->getNickName()}<!--@end-->
-
꿈꾸는돌
2014.04.15 16:23
질문을 하나 더 드려도 될까요?
위에 질문은 게시물을 열었을 때 화면, 그러니까 _read.html 를 수정하는 것이잖아요.
그런데 게시판 목록화면에서 마찬가지로 확장변수 유무에 따라 출력내용을 다르게 하는 게 가능할까요?
<span cond="$list_config['nick_name']" class="author"><!--@if($Document->getExtraEidValue('writer'))-->{$document->getExtraValueHTML(2)}<!--@end--><!--@else-->{$document->getNickName()}<!--@end--></span>
이런식으로 해봤는데 안되네요..
(두번째 확장변수가 writer 값입니다.)
이리저리 고쳐가면서 해보는데 잘 못찾겠습니다.. ㅠ
-
sejin7940
2014.04.15 19:23
view 에서는 $oDocument->
list 에서는 $document->
로 이해하시면 됩니다.
-
꿈꾸는돌
2014.04.17 14:42
네 ^^
똑같이 <block>문이 들어가야 제대로 출력이 되네요.
아래와 같이 했습니다.
고맙습니다!
<!--@if($document->getExtraEidValue('writer'))-->
<block loop="$document->getExtraVars() => $key,$val"><!--@if($val->eid=='writer')-->{$val->getValueHTML()}<!--@end--></block><!--@else-->{$document->getNickName()}<!--@end-->
자문자답입니다. 혹시 도움되실 분 있으실까하여..
저렇게 한 것은 로그인해서 글쓰면 이름변경이 안돼서 그런건데,
저는 로그인해서 글쓴 것만 확장변수에 입력된 값을 불러오면 되는 상황이어서
<!--@if($oDocument->isExtraVarsExists() && $oDocument->getMemberSrl() && (!$oDocument->isSecret() || $oDocument->isGranted()))-->
이렇게 수정했습니다. 그런데 저의 상황과 달리 각각의 확장변수 유무에 따라 다른 값을 출력해야될 필요가 있는 분도 있을테니 다른 고수님들께서 방법을 알려주시면 좋을 것 같습니다 ^^