웹마스터 팁
새글/업데이트/이미지/동영상/첨부파일 아이콘 없애기
2008.11.21 00:54

제로보드의 게시판이나 위젯에서 새 글 표시인가를 선택하면 저런 아이콘들이 줄줄이 붙습니다.
빨간색 N: 새 글
노란색 U: 업데이트
이미지: 그림 파일 있음
TV: 동영상 파일 있음
디스켓: 첨부 파일 있음
이런 식으로요. 대단히 유용한 기능입니다.
하지만 개인적으로 대부분의 글에 사진이 첨부되는 사이트를 운영중인데. 이 경우 이미지와 디스켓이 무조건적으로 붙게 되더군요. 대부분의 글이 그렇다 보니 이건 의미가 없습니다. 거기에 동영상 알림도 별로 관심이 없고.
그래서 새 글과 업데이트만 빼고 지워보기로 했습니다. 질문 게시판에서도 이거 물어보시는거 은근히 본것 같아서 걍 올려봅니다.
536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 | // 새글 체크 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" ; |
저는 새글과 업데이트만 빼고 지울 작정이니 //사진 이미지 체크 부터 if($this->hasUploadedFiles()) $buffs[] = "file"; 까지를 전부 지워버렸습니다.
필요에 따라서 지우는걸 조절하시면 될듯. ...개인적으로는 이걸 옵션으로 정하게 됐음 합니다만.
댓글 18
-
Earth_Hero
2008.11.21 11:05
우옹 좋은 팁입니다. ^^ -
zeroboardxe
2008.11.21 13:01
유용한 팁이네요. -
똑디
2008.11.21 14:53
옵션으로 지정하면 좋겠네요.^^ 좋은팁입니다. -
엠™
2008.11.21 15:44
저도 곧 스킨 만들어야하는데...
이거와 관련된게 저 파일에 있었네요.
이글 안봤음 한참 찾았을거 같아요 -
똑디
2008.11.21 16:30
저같은 경우 메인화면에서는 New 체크만 하고 (첨부파일,동영상,이미지는 체크안함) 게시판에선 기본기능 그대로 사용하는 형태로 사용할려고 하다보니 약간 소스를 더 수정해서 사용하게 되네요.
zbxe/modules/document/document.item.php 파일에서 (580라인정도에)1234567891011121314151617/**
* 위젯최신글에선 새글에만 아이콘을 표시하기 위해서 별도의 함수 정의해서 사용함
**/
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
==
'update'
){
$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=='update' 이렇게 새글과 업데이트글만 체크를 해서 보여주도록 했습니다.
이렇게 함수 정의를 했으니
위젯파일의 list.html 파일에서 기존에 아래와 같이 호출해서 사용했던 부분을
{$oDocument->printExtraImages($widget_info->duration_new)}
다음과 같이 변경해서 호출합니다.
{$oDocument->printExtraImages_widgets($widget_info->duration_new)}
이렇게하면 수정한 위젯에서는 최신글이나 업데이트시 아이콘을 출력하고 그외 동영상이나 첨부파일,이미지업로드시엔 아이콘이 출력되지않습니다.
메인화면 디자인상 제목글자수를 지정할때 첨부파일이나 동영상 여부에따라 우측공간이 달라지다보니 이렇게 적용을 해보네요. -
老姜君
2008.11.21 18:07
더 좋은 방법을 제시해 주셨군요. 역시 실력 있으신 분은 다릅니다.
사실 저도 메인화면에서 아이콘들이 자리 차지하느라 글자가 안 보이는게 싫어서 -_-a 지울 방법을 찾았던 거라서 말입니다. -
좋은팁입니다.
적용해 보니 심플해지고 좋네요. -
권만주
2018.11.28 15:42
감사합니다. 제가 딱 필요한 부분을 올려주셨네요 ^^
-
심플해지고 좋습니다. 추천~
근데 게시판에는 어떻게 적용하나요?? -
똑디
2008.11.23 19:39
현재 게시물 본문내용대로 하면 위젯,게시판 상관없이 모두 적용이 되는것이구요, 제가 말씀드린 부분대로 하면 게시판은 일반 형태로 사용이되고 위젯에서만 (코드수정한 위젯에 한해서) 적용이 되는것이지요.
저같은 경우 게시판에선 보여주는것도 나쁘지 않을것 같아서.. -
똑띠 님 똑띠 하시넹~~
-
MikeMin
2008.12.16 14:54
어딜가나 좋은 팁이 있군요!!! 잘 사용하겠습니다.^^ -
1.1.4 로 업데이트후 적용되지 않네요?????
-
kissuri
2009.01.09 16:42
적용되는데요? 소스가 덮어씌워져서 그렇지 않나요? -
감사합니다. .. 1.1.4버전에서는 위와 같이 수정해서는 백지출력이 되더군요 ;;
그이상 버전에서는 어떨지 모르겠으나 .. 1.1.4에서 급하다 하신분은 아래처럼 해보세요
제가 썼던 꼼수 ;;;예요
-게시판,위젯 모두 뉴아이콘과,업데이트아이콘만 출력하기-
아래보시면 "//" < -- 이 빗금 2가닥 보이시죠 ;;
이걸로 명령을 전부 비활성화 시키는거예요 ;; 좀 무식한가요 ;;
// 사진 이미지 체크
// 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;
}
-
erica967
2009.12.11 14:10
다시 표시할 수 있으니 삭제보다 좋은것 같아요^^
그런데, 저는 이렇게 하니 새글 아이콘까지 모두 지워지더군요.
if($this->hasUploadedFiles()) $buffs[] = "file"; 까지만 //를 붙이니 잘 되는군요.
-
저는 new를 이렇게 붙혔습니다.
http://www.clubkorea.co.kr/ 정렬하기 편하도록 ^^
-
제민이아빠
2016.06.08 09:33
저는 꼼수로
/Web/xe/modules/document/tpl/icons
파일에
사용하고 싶지 않은 파일을 1×1 픽셀 투명 gif 로 만들어서 사용합니다