묻고답하기
html AND조건문 어떻게 구현하나요?
2015.07.10 22:50
html은 생초보라서 질문드립니다.
XEIDITION 게시판 사용중입니다.
현재 list.html의 추천수의 출력부분에
(추천수+비추천수) * 5
--------------------------------- + 5 한 것을 소수점 1자리까지 표현하도록 코딩했습니다.
(추천수-비추천수)
이렇게 하면 게시글을 0점부터 10점까지의 평점으로 평가할 수 있는데요,
(추천많이 받을수록 10.0점에 수렴, 비추많이 받을수록 0.0에 수렴, 추천수=비추천수면 5.0점)
저는 아무 것도 안하고 글만 올린 상황에서는 평점을 '-' 로 출력하고 싶습니다.
아무것도 안한 상태 (추천:0, 비추천:0)에서는 저 위의 계산식이 5.0이 되는데요,
그래서 현재 소스는 계산식이 5.0일 경우 '-'를 나타나게 해주었습니다.
그결과 아무 것도 안하고 글만 올린 상황에서 '-'이 나오긴 하는데
문제는 추천수와 비추천수가 0이 아닌 같아지는 경우에도 계산값이 5.0이 나와서 '-'가 출력된다는 겁니다.
현재 소스는 이렇습니다. (list.html)
<td class="voteNum" cond="$val->type=='voted_count' && $val->idx==-1">
{( round(((($document->get('blamed_count')+$document->get('voted_count'))/( $document->get('voted_count')-$document->get('blamed_count') )*5)+5),1) ) !== 5.0 ?
( round(((( $document->get('blamed_count')+$document->get('voted_count') )/( $document->get('voted_count')-$document->get('blamed_count') )*5)+5),1) ):'-' }
</td>
혹시 저 빨간부분에 if 조건문 + AND연산자를 추가하여,
vote_count==0 && blamed_count==0 일때만 특수하게 '-'을 출력할 수 있을까요??
C라면 바로 했을텐데 html은 입문수준이라 제 힘으론 역부족인듯 하여 도움을 청해봅니다....
댓글 8
-
불금
2015.07.10 23:27
-
항순
2015.07.11 00:03
Parse error: syntax error, unexpected '@' 이라고 합니다. 저 td class 안에서도 활용가능한 구문인가요?
답변해주셔서 감사드립니다.
-
불금
2015.07.11 10:08
http://www.xeschool.com/xe/xenote_template_syntax_if
를 참고해서 하세요 unexpected '@' 를 보니 따라 쓰시면서 실수한거 같기도..
-
항순
2015.07.11 14:21
불금님 답변 감사드립니다. 그런데 어떻게 써도 자꾸만 오류만 납니다...
한번만 더 봐주시면 감사드리겠습니다..
제가 한 소스를 캡쳐하여 첨부하였습니다.
제가 여러가지 경우의수를 모두 해보았는데
<!-- --> 까지는 오류가 안나고,
<!--@ --> 까지도 오류가 안나는데요
<!--@ if --> 부터 오류가 납니다.
그래서 첨부된 코드처럼 괄호안에 (1)을 써보기도하고, voted_count==1 을 써보기도하고, $document->get('voted_count')==1 을 써보기도 하고, 했지만 모두 unexpected '}' '@' 등등의 에러가 뜹니다. 어떻게 해야할까요?
<td class></td> 바깥부분에 <!--@ -->으로 묶어도 마찬가지입니다.
round(~) 가 있는 { } 속에다가 넣어도 마찬가지구요.ㅠㅠ
-
불금
2015.07.11 15:55
<!--@if($oDocument->get('voted_count')==0 && $oDocument->get('blamed_count')==0)-->
-
항순
2015.07.11 20:37
드디어 해결했네요.... 정말로 감사드립니다. 계속 $oDocument 가 아닌 $document로 했었는데 차이가 있나보군요.. 역시 기초가 중요하네요. 감사합니다.
-
GG
2015.07.11 15:48
불금님의 코드에서 잘못된 점은
<!--@if(vote_count==0 && blamed_count==0 )-->
이 부분입니다.
$vote_count == 0 && $blame_count == 0
이런식이 되어야 하지 않을까요?
-
불금
2015.07.11 15:54
아 잘못 했네요 ㅎㅎ
이렇게 하면 될거에요 함수 앞에는 $를 써줘야하니..
XE 에서만 사용가능한 구문입니다.
<!--@if(vote_count==0 && blamed_count==0 )-->
( round(((( $document->get('blamed_count')+$document->get('voted_count') )/( $document->get('voted_count')-$document->get('blamed_count') )*5)+5),1) ):'-' }
<!--@end-->