최신글에 이모티콘 적용하기 > 그누3 팁자료실

그누3 팁자료실

최신글에 이모티콘 적용하기 정보

최신글에 이모티콘 적용하기

본문

## 3.23 이상사용자는 1,3번 수행(3.23부터는 lib 디렉토리에 있는 파일은 모두 자동으로 인클루드함)
## 3.22 이하사용자는 2,3번 수행(3.23사용자가 2,3번을 수행해도 문제없음)

1. 3.23 이상 사용자
  1-1. 기존 이모티콘 작성시 사용하던 emoticon.php를 latest_emoticon.php라는 새로운 이름으로 하나 만든다.
  1-2. latest_emoticon.php를 열어서 function emoticon_html($str)로 되어있는 이름을 function latest_emoticon_html($str)로 변경한다.
 
2. 3.22 이하 사용자
  2-1. 기존 이모티콘 작성시 사용하던 emoticon.php를 안의 내용 전체를 카피한다.
  2-2. lib/developer.lib.php에 붙여넣기한다.
  2-3. 붙여넣기한 내용중 function emoticon_html($str)로 되어있는 이름을 function latest_emoticon_html($str)로 변경한다. 
 
3. 최신글 스킨디렉토리에 있는 latest.skin.php를 다음 처럼 변경한다.
  수정전 :
<? for ($i=0; $i<count($list); $i++) { ?>
<tr height=22>

  수정후 :
<? for ($i=0; $i<count($list); $i++) { ?>
<?  $list[$i][content] = latest_emoticon_html($list[$i][content]); ?>
<tr height=22>
추천
0
  • 복사

댓글 전체

에궁... 죄송하긴요.
할때 완벽하게 해드려야 하는데.. 끝까지 처리못해드린것 죄송합니다.
시간도 시간이고 글을 잘라내는것을 할려면 기존 그누보드 소스도 손봐야 할것 같아서 좀 여의치가 않군요.
여라가지 방법을 찾다가 결국 최신글에서는 이모티콘을 보여주지 않기로 했습니다.--;
그런데 그렇다고 이모티콘 표현코드가 그래도 나오게 두기도 뭐해서 아예 이모티콘부분을
안나오게 루트님의 팁을 이용해서 수정했습니다.
latest_emoticon.php 파일을 열어서
25번행을 수정했습니다.

-----수정전-----
$str = eregi_replace($emo_id, $img_src, $str);

-----수정후-----
$str = eregi_replace($emo_id, "", $str);

루트님 죄송합니다..--;
처리가능한 방법은 한가지가 있을듯 하군요.
이모티콘이 120개니까.. 120에서 중복되지 않는 한개의 문자를 사용해야 한다는 조건이 있습니다.
이것을 만족할려면...
내용에 한문을 넣지 않는다는 조건으로 이모티콘을 한문한글자로 표시하면 되지 않을까하는 생각이 더는 군요.
그렇지 않으면 지금 글자 자르는 루틴을 수정해서 내용이 이모티콘일때는 알아서 잘라야 하는 복잡한 계산을 해야 하겠구요.
이건 쉽지 않을듯 싶군요.
테스트중 발견한 문제가 있습니다.
최신글의 경우 글자수 제한을 통해서 제목이나 내용에 정해진 글자수가 넘어설 경우
... 등으로 말줄임 표시를 하게 되는데 이모티콘이 들어가는 부분에서 글이 잘릴 경우
문제가 발생됩니다. 이모티콘의 이미지 태그를 중간에서 자르기 때문에 발생되는 듯 합니다.
이모티콘이미지태그 전체를 한글자로 처리하는 등의 방법이 있으면 좋을듯한데요..^^
index.php에서 그누에서 사용하는 공통 라이브러리 파일을 불러들이는 부분이 있는데 3.23 이전에는 그누에서 지정한 파일명만 불러오도록 되어있었습니다.
그래서 일반 사용자들은 코드를 추가할경우 developer.lib.php에 추가하면 그누보드가 업데이트 되어도 자기의 코드를 이 파일에서 관리 할수있었습니다.
3.23부터 이부분이 lib 디렉토리에 있는 모든 파일을 불러오도록 변경되었습니다.
그래서 3.23이상의 사용자는 기존 developer.lib.php에 넣던 내용을 임의의 파일명으로 만들어서 사용하시면 모두 자동으로 불려집니다.
단.. 다른 사람의 코드를 받아서 설치시 중복되지 않도록 주의를 하셔야 합니다.
초보들이 보기에 설명이 조금 부족한 부분인 것 같아서요..
 3.23이상 사용자의 경우 위 설명 1번에서 만들어진 latest_emoticon.php 파일을 그누보드가 설치된 디렉토리에 있는 lib 디렉토리에 넣어주시면 됩니다. ^^
간단할줄 알았는데.. 같은 함수명을 여러곳에서 호출하니 문제가 있더군요.
그래서 lib에 새로운 이름에 새로운 함수명으로 처리하였습니다.
기존 board에 적용한것을 그대로 사용하고 싶었는데.. 할수가 없더군요.

board사용시 board 스킨에 넣은 emo.php와 emoticon.php를 lib로 모두 옮긴다면 가능할텐데..
지금 그렇게 하자니 기존 사용자들이 혼란스러울것 같아서 똑같은 내용을 다른이름으로 만들었습니다.
© SIRSOFT
현재 페이지 제일 처음으로