묻고답하기
문서열람페이지 조건문 문의
2015.06.10 10:09
특정부분이 _read.html 이 출력되는 페이지에서는 보이지 않게 하려고 합니다.
글 읽기 화면에서는 노출되지 않게 하려고 하는데요. 리스트영역에서는 보이고 글 읽기 화면에서는 보이지 않게 하려고 합니다.
현재는 크롤링봇에게 보여주지 않게 하기위해
<block cond="!isCrawler()">
이런 조건으로 감싸고 있습니다. 여기에 추가로 글읽기 화면이 아닌 곳에서만 보여지게 하고 싶습니다.
댓글 15
-
GG
2015.06.10 10:21
-
몽실아빠
2015.06.10 11:10
설명으로는 제가 이해가 부족해서 적용이 어렵네요.
-
GG
2015.06.10 11:23
글을 읽을때는 주소창에 반드시 document_srl 이 존재합니다.
이것은 Context::get('document_srl') 으로 잡아올 수 있습니다.
반면 게시판 리스트가 보일때는 주소창에 document_srl 이 존재하지 않습니다.
따라서 조건문 cond 를 줄때 cond="Context::get('document_srl')" 의 의미는 내가 지금 게시판 화면을 보고 있는데 리스트가 아니라 내용을 보고 있는것이라면 이 성립합니다.
반대로 cond="!Context::get('document_srl')" 이렇게 하면 글을 읽는 상태가 아니라면... 이 되겠지요.
-
몽실아빠
2015.06.10 11:26
자세한 답변 감사합니다.
<block cond="!isCrawler() && !Context::get('document_srl')">
이렇게 처리했는데 글 읽기 페이지에서 보이네요.
현재 처리하는 부분이 게시판 상단의 html 입력부분에 적용된 사항입니다. 물론 스킨에서 글읽기 화면에서 게시판설정의 상단입력 내용을 안나오게 하는 방법도 있지만 저희 경우는 상단입력 내용중 일부만 글읽기에서 안보이게 처리해야 해서 스킨에서 제외시키기가 어려워 이렇게 문의를 드립니다.
-
GG
2015.06.10 11:33
&& 이 아니라 || 가 아닐까요? -
몽실아빠
2015.06.10 11:34
단독으로 해 보았는데요 안되더라구요 ㅜㅡ
<block cond="!Context::get('document_srl')">
<block cond="Context::get('!document_srl')">
<block cond="!Context::get('$document_srl')">
<block cond="Context::get('!$document_srl')">
위와 같이 다 해보았는데 잘 안되네요.
-
GG
2015.06.10 11:36
제가 뭔가 잘못알고 있었나 보네요 ㅡㅡ;; -
몽실아빠
2015.06.10 11:38
<block cond="Context::get('act') == 'dispBoardWrite' && !$document_srl">
이게 다른 애드온에서 글쓰기 화면에서만 보여지게 하는 조건인데요... 여기서 응용이 안되더라구요. ㅡㅡ;
-
YJSoft
2015.06.10 15:24
레이아웃 파일 등 템플릿 파일 한정으로 Context::get으로 가져올 수 있는 모든 값(logged_info, 등등)은 $logged_info나 $document_srl처럼 사용 가능합니다.
Context::get('document_srl') 대신 $document_srl 처럼 사용해 보세요.
-
몽실아빠
2015.06.10 15:26
<block cond="$document_srl">
말씀하신 것을 보고 이렇게 하면 글읽기에서만 보여질 거 같았는데 목록에서도 보입니다. 물론 저는 반대를 원하는 거구요.
-
socialskyo
2015.06.10 15:34
<div cond="!$oDocument->isExists()">
read.html이면 문서보기니까 이렇게 하면 될걸요?
-
몽실아빠
2015.06.10 15:37
안되네요. html 상단입력 부분에 위치해서 그럴까요 ? 소스의 위치가 각 게시판 설정의 상단입력 부분인데 안되네요.
-
socialskyo
2015.06.10 15:41
아..html 상단 입력 말고 list.html이나 스킨 파일 이랑 같이 입력해서 사용하면 될거에요.
-
몽실아빠
2015.06.10 15:49
list.html에 따로 넣지 않으려고 지금 방법을 찾는 중이라서요. list.html에 코드를 넣으려면 각 게시판 MID명 조건문으로 다수의 코드를 한파일에 모두 넣어야 해서요.
-
몽실아빠
2015.06.10 16:04
아... 결국 _read.html 파일에 해당 div만 display:none 으로 처리해야 하는건가요.... . 아예 위젯이 실행되지 않게 하고 싶은데요......
글 읽기 시 act 가 존재한다면 Context::get('act') 로 잡아다가 cond주면 되지 않을까 싶습니다.