메뉴 건너뛰기

MH

내 사랑치 않고 끝내는 것 보다 사랑해서 잃어 버리는 편이 좋다.

It is better to have loved and lost than to have never loved at all.

조회 수 7556 추천 수 0 댓글 4
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
Extra Form
원작자 老姜君
출처 http://www.xpressengine.com/17472735
적용여부 적용

제로보드의 게시판이나 위젯에서 새 글 표시인가를 선택하면 저런 아이콘들이 줄줄이 붙습니다.

01.jpg

 빨간색 N: 새 글
노란색 U: 업데이트
이미지: 그림 파일 있음
TV: 동영상 파일 있음
디스켓: 첨부 파일 있음

이런 식으로요. 대단히 유용한 기능입니다.

하지만 개인적으로 대부분의 글에 사진이 첨부되는 사이트를 운영중인데. 이 경우 이미지와 디스켓이 무조건적으로 붙게 되더군요. 대부분의 글이 그렇다 보니 이건 의미가 없습니다. 거기에 동영상 알림도 별로 관심이 없고.

그래서 새 글과 업데이트만 빼고 지워보기로 했습니다. 질문 게시판에서도 이거 물어보시는거 은근히 본것 같아서 걍 올려봅니다.

 

./modules/document/document.item.php  653줄 (xe 1.3.1.2기준)

            // 새글 체크
            if($this->get('regdate')>$time_check) $buffs[] = "new";
            else if($this->get('last_update')>$time_check) $buffs[] = "update";

            // 사진 이미지 체크
            preg_match_all('!<img([^>]*?)>!is', $content, $matches);
            $cnt = count($matches[0]);
            for($i=0;$i<$cnt;$i++) {
                if(preg_match('/editor_component=/',$matches[0][$i])&&!preg_match('/image_(gallery|link)/i',$matches[0][$i])) continue;
                $buffs[] = "image";
                $check_files = true;
                break;
            }

            // 동영상 체크
            if(preg_match('!<embed([^>]*?)>!is', $content) || preg_match('/editor_component=("|\')*multimedia_link/i', $content) ) {
                $buffs[] = "movie";
                $check_files = true;
            }

            // 첨부파일 체크
            if($this->hasUploadedFiles()) $buffs[] = "file";

            return $buffs;
        }


저는 새글과 업데이트만 빼고 지울 작정이니 //사진 이미지 체크 부터 if($this->hasUploadedFiles()) $buffs[] = "file"; 까지를 전부 지워버렸습니다.

필요에 따라서 지우는걸 조절하시면 될듯.

이상이 老姜君님의 글을 버전에 맞게 약간 수정한 것입니다.

 

다음으로 똑띠님의 기능이 향상된 팁을 덧 붙입니다.

저같은 경우 메인화면에서는 New 체크만 하고 (첨부파일,동영상,이미지는 체크안함) 게시판에선 기본기능 그대로 사용하는 형태로 사용할려고 하다보니 약간 소스를 더 수정해서 사용하게 되네요.

./modules/document/document.item.php 파일에서 (716라인정도에) 추가


   /**
  * 위젯최신글에선 새글에만 아이콘을 표시하기 위해서 별도의 함수 정의해서 사용함
  **/
  function printExtraImages_widgets($time_check = 43200) {
      if(!$this->document_srl) return;
      // 아이콘 디렉토리 구함
      $path = sprintf('%s%s',getUrl(), 'modules/document/tpl/icons/');
      $buffs = $this->getExtraImages($time_check);
      if(!count($buffs)) return;
      $buff = null;
      foreach($buffs as $key => $val) {
            if($val=='new' || $val=='secret'){
       $buff .= sprintf('<img src="%s%s.gif" alt="%s" title="%s" style="margin-right:2px;" />', $path, $val, $val, $val);
            }
      }
      return $buff;
      }


이렇게 printExtraImages_widgets 함수를 하나더 정의 해준다음
해당 함수에서는 조건문으로 $val=='new' || $val=='secret' 이렇게 새글과 비밀글만 체크를 해서 보여주도록 했습니다.

이렇게 함수 정의를 했으니
해당위젯파일의 list.html 파일에서  기존에 아래와 같이 호출해서 사용했던 부분을


{$oDocument->printExtraImages($widget_info->duration_new)}

다음과 같이 변경해서 호출합니다.

{$oDocument->printExtraImages_widgets($widget_info->duration_new)}

이렇게하면 수정한 위젯에서는 최신글이나 비밀글 아이콘을 출력하고 그외 동영상이나 첨부파일, 이미지업로드시엔 아이콘이 출력되지않습니다.

그리고 게시판이나 수정하지 않은 다른 위젯에서는 정상적으로 아이콘들이 출력됩니다.
메인화면 디자인상 위젯에서 제목글자수를 지정할때 첨부파일이나 동영상 여부에따라 우측공간이 달라지다보니 이렇게 적용을 해보네요.


 

이제 부터는 팔공산의 팁입니다.

예전에 만들어진 위젯들이나 게시판에서는 {$oDocument->printExtraImages_widgets($widget_info->duration_new)} 이 함수의 적용이 잘 됩니다.

그런데 최근에 만들어진 ./widgets/content 위젯은 위의 함수가 적용이 되지를 않습니다.

./widgets/content/skins/default/normal.html 위젯을 보면 아래와 같이 함수가 정의 되어 있습니다.

 <span class="icon"> {$item->printExtraImages()} </span>

 

수정방법은

./widgets/content/content.class.php 파일을 열어서

printExtraImages단어를 모두 찾아서 printExtraImages_widgets으로 바꾸어주면 됩니다.(총3군데)

그리고 normal.html 에서 

<span class="icon">{$item->printExtraImages()}</span> 이부분을

</span class="icon">{$item->printExtraImages_widgets()}</span> 수정합니다.

이렇게 하면 최신글이나 비밀글 아이콘을 출력되고 다른 아이콘은 출력이 되지를 않습니다.

 

02.jpg

 

TAG •

Who's 팔공산

profile

이 世上에서 現在가 가장 중요한 時間이며,
내가 만나고 있는 바로 그 사람이 第一 중요한 사람이며,
同時에 가장 중요한 것은 그 사람에게 善으로서 行하는 것이다.

Atachment
첨부 '2'
    Tip이 도움이 되었다면 댓글과 평가 부탁합니다. Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다.
?
  • ?
    ㅇㅇ 2017.05.15 01:25
    도움이 되었습니다! ^^
  • ?
    ㅇㅇ 2017.05.15 01:26
    그런데요 제가 코노리 님의 모바일 작성 표시 애드온을 쓰는데 그 모바일 표시가 컨텐츠 확장 위젯에서 보이지 않게 하려면 어떻게 해야 할까요ㅜ ㅜ
  • ?
    ㅇㅇ 2018.09.17 16:50
    첫번째 방법을 사용중이였는데 두번째 세번째 팁도 좋네요.
  • profile
    팔공산 2018.09.17 18:48

    ㅇㅇ 님에게 달린 댓글

    두번째, 세번째 팁은 되도록이면 사용하지 마세요.
    수정한 파일이 업데이트 되고나면 페이지오류 출력되며 백지 상태가 됩니다.

List of Articles
번호 분류 제목 원작자 날짜 조회 수 적용여부
» Xe 새글/업데이트/이미지/동영상/첨부파일 아이콘 감추기 제로보드의 게시판이나 위젯에서 새 글 표시인가를 선택하면 저런 아이콘들이 줄줄이 붙습니다. 빨간색 N: 새 글노란색 U: 업데이트이미지: 그림 파일 있음TV: 동... 4 file 老姜君 2010.01.16 7556 적용
148 Xe 카운터위젯 - 오늘 가입한 회원수 전체 회원수 출력 xe\widgets\counter_status\counter_status.class.php 파일을 열어서 보면 // 전체, 어제, 오늘 접속 현황을 가져옴 $oCounterModel = &amp;getModel(&#039;counter&#039;); $si... file 공수래 2010.01.07 4894 적용
147 문하우스 content위젯에서 닉네임 크기 고정하기 최신버전 XE에 기본적으로 포함된 content위젯이 있습니다. 기능이 많고 뛰어나서 많이 쓰이고 있죠. 이 위젯을 사용하여 위젯을 생성시 닉네임을 단순화 시키고 ... 2 file 라르게덴 2009.12.30 5715 변형
146 Xe 첨부파일 보이기 숨기기 옵션추가 페이지내 첨부파일 목록이 뜹니다숨기게 하려면 xe/modules/board/skins/xe_board/view_document.html 내의 첨부파일 항목을 삭제 하시면 됩니다만 옵션처럼 보이... file TeRy 2009.12.30 5008 적용
145 Xe 메일 중복 발송 문제 해결 방법 안녕하세요 SMaker입니다. 오랜 만에 팁을 써 봅니다. 언제부턴가 XE에서 메일을 보낼 경우 중복으로 오는 문제가 있었습니다. (지금도 계속되고 있고요) classes... SMaker 2009.12.10 5352 적용
144 Xe 비밀글 댓글이 최신댓글 위젯에 노출되는 문제 수정방법 최신 댓글 위젯을 사용하게되면, 비밀글의 댓글이 노출되는 문제가 있지요. 비밀스런 질문에 비밀스런 답을 한 경우라면 당황스러울수 있는데...목마른자가 우물... 얼터1 2009.11.06 6706 적용
143 문하우스 이미지 본문삽입시 이미지간격 띄우기 / 중앙정렬하기 (xe 1.2.6기준) 이미지 본문삽입시 여러이미지를 일괄삽입시 이미지가 붙어서 보기가 싫으신 분은 아래의 팁을 적용하시면 됩니다.이 팁은 블루게이트님의 사이트에서 가져온 것... Bluegate 2009.11.05 6452 적용
142 Xe 확장변수 입력값이 없는 변수는 목록에서 출력시키지 않기 확장변수가 많을 경우에 해당 변수마다 내용을 다 입력하지 못할 수도 있습니다. 그럴경우 입력값이 없는 변수는 목록에조차 출력시키지 않게 하는 방법 modules/... 찬이s 2009.10.19 6343 적용
141 Xe 내용값을 입력하지 않아도 글작성이 완료되게 하는 방법 modules/board/tpl/filter/insert.xml 에서 &lt;node target=&quot;content&quot; required=&quot;true&quot; /&gt; 빨간색부분 삭제하시면 감쪽같이 됩니다. 시니시즘 2009.10.12 7260 적용
140 Xe 관리자모드에서 메뉴 항상 펼치기 html &gt; xe &gt; modules &gt; admin &gt; tpl &gt; _header.html 31line 즈음에 &lt;li id=&quot;module_{$key}&quot; class=&quot;&lt;!--@if($selected_module_category == $key)--&gt;open&lt;!--@end-... file 아드레날린 2009.09.28 10096 적용
139 Xe 글 작성시 미리 저장된 서식 불러오기 XE기본기능으로 들어가 있는데 잘 모르시는 분들이 계신것 같아서 팁게에 올려봅니다. /* 정확히는 저도 1.2.4설치하고 이것 저것 만지다 알게 되었습니다 =ㅁ= *... file 개돌 2009.09.28 7424 NO
138 Xe 2차 메뉴가 없을 경우 왼쪽 메뉴 숨기기 어디에 쓰나? 간단한 팁입니다. 2차 메뉴가 없을 경우 보통 이렇게 모양이 됩니다. 로그인 창이라도 달고 쓸 때엔 괜찮은데, 위처럼 로그인 위젯을 쓰지 않는다면... 엔시아- 2009.09.28 6501 적용
137 Xe 확장변수 출력 방법 [라르게덴님의 팁] 아래 출력 방법은 게시물 스킨 뿐만 아니라 위젯의 스킨에도 대응 되는 방법 입니다.기본 방법해당 문서에 대한 전체 확장변수 정보 출력 view... 라르게덴,bibi 2009.09.28 7915 NO
136 Xe 회원정보 손쉽게 엑셀 파일로 저장하기 디비가서 정보 꺼내오기 귀찮으셨죠? ㅎㅎ 메모장을 열고 아래코드를 붙이고 원하는 이름으로 php파일을 만드세요 (예: mem_xls.php) 그리고 계정에 올리신후 실... thejeon 2009.09.28 6804 NO
135 Xe 게시판 확장변수 일괄 등록 하기 이거 팁이라기 보다는,, 이렇게 해두 되는지 고수님들 한번 봐주셨으면 좋겠네요. 사이트 제작중인데 게시판 복사시 몇몇 설정들은 복사가 안되지요.. 그중에 &#039;확... file 2년후 2009.09.28 7287 NO
134 문하우스 xe_official_v2 레이아웃에 있는 로그인폼 소스 가져오기 Xpressengine에 기본으로 들어있는 xe_official_v2 레이아웃에는 로그인폼이 팝업으로 구현됩니다.이 기능을 다른 레이아웃에 적용하는 방법입니다.(예제 : xe_of... 7 file zero 2009.09.18 17761 적용
133 문하우스 xe_official_v2 레이아웃에 있는 사이트맵 소스 가져오기 Xpressengine에 기본으로 들어있는 xe_official_v2 레이아웃에는 본문 하단에 사이트맵이 나옵니다.이 기능을 다른 레이아웃에 적용하는 방법입니다.(예제 : xe_o... 1 file zero 2009.09.18 9785 적용
132 문하우스 Google Docs로 XE게시판에 글을 작성해 봅시다. http://moonhouse.co.kr/xe/243764 Windows Live Writer로 XE게시판에 글작성을 하고 Google Docs로도 글을 적어 게시판에 올리는 테스트를 해보니 잘 작동이 되... 1 80san 2009.03.08 18836 적용
131 문하우스 Windows Live Writer로 XE게시판에 글을 작성해 봅시다. XE관리모듈 애드온설정에 들어가면 BlogAPI 애드온이란 애드온이 있습니다.이 기능을 활상화하고 Windows Live Writer를 사용해서 자기가 원하는 게시판이나 블로... 2 file 80san 2009.03.04 15983 적용
130 기타 블로그나 홈페이지에 메일폼 설치해 보자 - kontactr 그냥 설명하는 글이기에 편의상 존칭은 생략합니다.보통 홈페이지에는 관리자에게 메일을 보낼때 메일폼이 있어, 그것을 통해 문의 같은걸 하게 된다 하지만, 블... 4 file 2009.03.04 14275 적용
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...