본 블로그에서 사용하는 몇가지 수정 내용을 정리해 드리고자 합니다.
아무래도, 몇분이 질문을 하셔서 이렇게 글로 대신 합니다.

modulesdocumentdocument.item.php

블로그를 보시면, 라인 단위로 본문의 일부를 추출할 필요가 있습니다. 이미, 기본 모듈에 getSummary 라는 함수가 있지만 이것은 글자 단위로 추출하고, 라인을 병합하기 때문에 사실 적합하지는 않습니다. 그래서, document.items.php 에 getSummary2 라는 이름으로 라인을 추출할 수 있는 함수를 추가했습니다.

        function getSummary2($lines = 10) {
         
           // 본문을 읽어 들이면서, <BR> 태그를 숨김
           $content = str_replace(array('<BR>', '<br>'),array('^BR^', '^BR^'),$this->getContent(false,false));
          
            // 태그들을 제거함
            $content = preg_replace('!<([^>]*?)>!is','', $content);

            // 라인을 분리하고 필요한 라인수 만큼 추출함
            $content_array = explode('^BR^',$content);
            if (count($content_array) < $lines) {
                $lines = count($content_array);
            }
            $new_content = $content_array[0];
            for ($i = 1; $i < $lines; $i++) {
                $new_content = sprintf('%s<br>%s', $new_content, $content_array[$i]);
            }
            return $new_content;
        }


좀더 함수를 확장하여, 첫번째 첨부 그림을 썸네일로 출력하는 것도 좋을 것 같은데, 거기까지는 능력이 부족해서 그냥 라인을 추출하는 것으로 만족하기로 했습니다. ^.^


modulesboardskinsxe-board_mod

기본적으로 제공되는 xe-board 를 약간 수정한 보드입니다. 여기서는 여러개의 파일을 수정해야 합니다.  가장 먼저 수정해야할 파일은 style.blog.html 파일입니다. 검색 유무와 글의 종류에 따라서 각기 다른 화면 출력을 하도록 되어 있는데, 이것을

view_document.html 과 view_document_blog.html 이렇게 두가지만 사용하도록 하고, 검색글이라 하더라도 리스트를 출력하지 않도록 했습니다. 그리고  foreach 구문을 이용하여, 검색된 리스트나 또는 선택된 글을 모두 본문을 출력하도록 합니다.


modulesboardskinsxe-board_modview_document.html

선택되어진 글을 완전히 출력합니다. 이때, 관리자/접속 여부에 따라서 필요한 버튼이나 댓글을 출력하도록 했습니다.  #93~117 까지가 본문 출력관 연관되어져 있습니다. #96~#102 라인은 본문의 내용을 출력하되, 관리자나 로그인을 하여 권한이 이는 경우에만 #98 팝업 메뉴를 출력하고 아니면, #100 팝업 메뉴를 출력하지 않습니다.
다시 말해서, 손님은 댓글을 달수 있고 글을 볼수 있지만, 팝업 메뉴에서 지원하는 글쓴이에게 메시지를 보내거나 또는 인쇄/갈무리와 같은 기능을 사용하지 못하게 막습니다.
물론, 댓글의 사용 유무는 보드의 설정에 따릅니다.


modulesboardskinsxe-board_modview_document_blog.html

블로그 형태로 글을 출력하는 페이지 입니다. view_document.html 에서 본문 출력 방법을 약간 바꾸고 화면을 간단하게 정리한 것입니다. 이 페이지는 처음 화면에서 여러 블로그가 출력될때 반복으로 호출되어 글을 보여주게 됩니다.

#102 라인은 관리자이거나 로그인이 되어져 있는 경우에는 글 전체를 그대로 출력하도록 하기 위한 조건문입니다.
#103     글 전체를 그대로 출력합니다.
#104 관리자/로그인이 아닌 경우에는
#105      getSummary2 함수를 호출하여 지정된 라인수 만큼 글을 추출합니다. display_lines_blog 는 보드 설정에서 바꿀수 있는 값이며, skin.xml 을 보시면 해당 변수를 확인할 수 있습니다.

#107~ #110
          MORE >> 링크/버튼을 출력합니다.

설명이 제대로 되었는지 잘 모르겠습니다.
사실 위의 내용에 대한 이메일을 받고 답장을 쓰는데, 메일이 바운싱되어서 이렇게 글로...^.^

모두들 즐겁고 행복한 하루 되세요~