웹마스터 팁

[요지]
최근 글 위젯에서, 해당 게시판의 권한을 읽어서 게시물의 링크 여부를 적용 후
최근 게시물로 출력 했으면 합니다.
게시물의 링크가 걸려 있을 때, 그 게시물을 클릭 했는데 페이지 이동 후 만나게 되는 메시지가
"권한이 없습니다"  라는 문구 일 경우 기분이 그렇게 좋을 것 같지는 않을 것 같아서,
그러한 일을 사전에 방지 하고자 권한이 없을 경우, 리스트만 출력 하여 보여 주고,
해당 글에 대한 링크는 없애고자 합니다.

해당 최근게시물 위젯의 list.html을 엽니다.(예 : newest_document/skins/xe_official)

수정파일 zbxe/widgets/newest_document/skins/xe_official/list.html 16줄 부터
[수정전]
          <span class="title">
            <a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitle($widget_info->subject_cut_size)}</a>

 [수정후]
           <span class="title">               
     
<!--@if($widget_info->member_read == 'Y')-->
              
<!--@if($logged_info->member_srl)-->
               <a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitle($widget_info->subject_cut_size)}</a>
              
<!--@else-->
               {$oDocument->getTitle($widget_info->subject_cut_size)}
               <
!--@end-->
     
<!--@end--><!--@else-->
               <a href="{$oDocument->getPermanentUrl()}#{$oDocument->getCommentCount()}">{$oDocument->getTitle($widget_info->subject_cut_size)}</a>
      <!--@end-->

빨간색 부분만 추가하시면 로그인한 회원만 내용을 클릭해서 볼 수 있습니다.
당연히 비회원은 클릭자체가 되지를 않겠죠!

그럼 위에 있는 파란색부분은 무엇인가 하면은?
최근게시물설정시 "회원만 내용 글읽기" 를 껴고 끄는 옵션입니다.
이것을 구현 할려면 약간의 스크립트 수정이 필요합니다.
총3개의 파일을 수정해야 됩니다.

수정1 zbxe/widgets/newest_document/newest_document.class.php 파일을 열어서 아래의 스크립트추가

   // 노출 여부 체크
   if($args->member_read!='Y') $widget_info->member_read = 'N';
   else $widget_info->member_read = 'Y';

수정2 zbxe/widgets/newest_document/conf/info.xml 파일을 열어서 아래의 스크립트를 적당한 위치에 추가

  <var id="member_read">
   <name xml:lang="ko">회원만 내용 글읽기</name>
   <type>select</type>
   <description xml:lang="ko">회원으로 로그인해야만 내용글 보기 가능</description>
   <options>
    <name xml:lang="ko">표시</name>
    <value>Y</value>
   </options>
   <options>
    <name xml:lang="ko">표시하지 않음</name>
    <value>N</value>
   </options>
  </var>
 
수정3 zbxe/widgets/newest_document/skins/xe_official/list.html 위에 있는 수정후 내용중에 파란색부분 까지 추가

이렇게 해 주면 위젯설정에서 "회원만 내용 글읽기" 설정을 추가 할 수 있습니다.

p.s 위의 파일들을 변형 해 보면서 한가지 아쉬운 점은 멤버 그룹별로 권한을 주는 문제였는데,
      실력이 미천하여 그것 까지는 구현을 하지 못했습니다.
      이 부분을 설명해 주실 수 있으신 고수님들의 자문을 구합니다.