웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
최신글위젯(content)에 상담게시판 보여주기
2009.11.15 15:40
설명
- 현 content위젯은 '상담게시판'과 같은 1:1기능이 없어 모든 글이 노출되는 문제가 있음.
- 기존 content 위젯의 스킨을 일부 변경하여 상담게시판과 동일하게 '관리자'는 모든 글이 보이며, '회원'은 본인 작성글만 보임.
- 원리 : 소스상의 게시물 리스트를 출력하는 시점에서 '회원아이디비교'와 '관리자 확인'을 통해 출력여부를 결정.
방법
- xe/widgets/content/skins/default/normal.html 파일을 수정하면 됩니다.
(상담게시판 전용사용, 업데이트 등에 대비해 default 스킨을 카피해 별도 디렉토리 생성하는 것을 권장)
소스 수정위치 ( normal.html)
붉은색으로 표시된 소스를 추가해주면 됩니다. (출력방식이 table일경우의 예)
<!--// 테이블형 출력 -->
<!--@else-->
<table class="widgetTableA" border="1" cellspacing="0">
<tbody>
{@$_idx=0}
<!--@foreach($widget_info->content_items as $key => $item)-->
<!--@if($logged_info->user_id==$item->variables['user_id']||$grant->manager)--><!--// 1:1상담형 -->
--- 중략 ----
<!--@end--><!--// 1:1상담형 end -->
{@$_idx++}
</tbody>
<!--@end-->
</table>
잘 몰라서 여러차례 xe 지식인에 올렸는데 답들이 없어서 되는데로 해보면서 만들어봤습니다.
혹시 이 소스가 문제가 있거나 더 나은 방법이 있으면 리플로 알려주세요. ^^
댓글 2
-
ASTO
2009.11.26 17:19
-
아고라
2009.12.11 11:05
content 위젯인가요? 가져오는 변수들이 위젯마다 달라서 변수값들을 가져오지 않은 상태여서 아이디가 나타나지 않는게 아닌가 싶네요?
제 위젯에 반영하려니 잘 안되네요^^;
$item->variables['user_id'] <-- 여기 값을 못 가져오는것 같아요-_-;;
제가 이쪽 프로그래밍을 몰라서ㅎㅎ
<span class="name">by {$item->variables['user_id']}</span> 이렇게해서 뿌려보니 'by'만 나오네요
글쓴이 아이디만 가져오면되는데;;; 그게 뭔지;;; ㅎㅎ