K

랜덤 광고 뿌려주기(게시판+최근게시물)

· 2006-04-13 (목) 01:57:17 · 6592 · 53
ad.jpg
ad_list.jpg
ad_write.jpg
안녕하세요..^^
처음으로 스킨(?)이라는 것을 올려봅니다.
제가 이번에 만든 것은 랜덤 광고입니다.
사이트에 광고를 하고 싶을 때 그누보드를 이용하여 간단하게 광고를 할 수 있도록 만들었습니다.

디자인은 네이버 뉴스에서 뉴스 하단 (덧글 위) 에 사용중인 것을 그대로 가져온 것입니다.
(이런것도 저작권이 있지는 않겠죠? ^^;;)

사용예 : http://www.yeppmania.com/gboard4/bbs/tb.php/notice/99
여기서 게시물 하단 AD 부분입니다.

<특징 및 여유필드 사용처>
wr_subject : 광고명
wr_content : 광고에 대한 간단 설명(첫번째 줄만 광고에 노출됨)
wr_1 : 광고를 몇일까지 노출할 것인지 설정
wr_2 : 링크 타겟 설정 (동일사이트,외부사이트)
wr_3 : 노출 타겟 설정 (비회원+회원,회원만)
wr_link1 : 광고를 클릭했을 때 이동할 주소. 해당 광고를 몇번 클릭했는지 확인이 가능합니다.

<설치방법>
extend 폴더 안에 developer.lib.php 파일을 열어 아래의 소스를 맨 아래 ?> 위에 붙여 넣으세요.

=========================== developer.lib.php ==========================
//랜덤 게시물 추출하기
function r_latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $mem)
{
global $g4;

if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";

$list = array();

$sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
$board = sql_fetch($sql);

$today = $g4[time_ymd];
if(!$mem) $mem="1";
else $mem="0";

$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
$sql = " select * from $tmp_write_table where wr_is_comment='0' and wr_1>='$today' and wr_3 >= '$mem' order by rand() desc limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);

ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();

return $content;
}

=================================================================

(위의 소스는 까만도둑님의 http://www.sir.co.kr/bbs/tb.php/g4_tiptech/27 소스를 약간 변경한 것입니다.)

그런 후에 첨부파일을 다운로드 받으시고 압축을 푸세요.
ad_board 폴더는 skin/board 안에 업로드 하시고,
ad_latest 폴더는 skin/latest 안에 업로드 하세요.
ad.php 파일은 그누보드 폴더에 넣어주세요. (config.php 파일이 보이는 곳)

관리자모드에서 광고 게시판을 하나 만드신 다음 스킨을 ad_board로 설정하세요.
이제 해당 게시판에서 글쓰기를 하여 광고를 등록합니다.

광고를 등록하셨다면,
광고를 보여주고 싶은 곳에다가,

<iframe name="ad" id="ad" frameborder='0' width=380 height=36 frameborder=0 scrolling=no src="../ad.php" marginheight=0 marginwidth=0 align=center></iframe>

이렇게 불러오세요..^^

위의 소스는 게시판 스킨 안의 view.skin.php 파일의 본문 아래에 넣었기 때문에 ad.php 경로가 저렇습니다.
다른 곳에 넣고자 하시면 경로를 바꿔주세요..^^;

※ 아참, 빼먹은 것이 있는데요..광고를 무기한 보여주고 싶으시다면 마감시한에 xxxx-xx-xx 로 입력하세요..ㅎㅎ
이 스킨은 그누보드 basic 스킨을 변형하였습니다.

첨부파일

ad.jpg (4.8 KB)
0회 2006-04-13 01:57
ad_list.jpg (42.2 KB)
0회 2006-04-13 02:04
ad_write.jpg (35.1 KB)
0회 2006-04-13 02:04
ad.zip (80.3 KB) 334회 2006-04-13 02:47
|

댓글 53개

아주 좋은 팁입니다.

수고하여 만든 팁, 올려주셔서 진심으로 감사드립니다.
감사합니다..^^
아주 좋아요!!
감사합니다~~
2006-04-13 (목) 17:39:59
상당히 유용할듯한 팁이네요.
시간나는대로 접목시켜 보도록 하겠습니다.
2006-04-14 (금) 00:46:57
접목시켜 보았습니다.

http://code36.com/cart4/bbs/board.php?bo_table=notice&wr_id=41

굿 이네요. iframe을 안쓰고 include문을 썼는데 잘 되는군요.
사용하여 주셔서 감사합니다~^^ include를 해도 잘 됩니다.
그런데 링크를 타고 갔다가 다시 돌아왔을 때 똑같은 광고가 또 보여지기 때문에 전 iframe을 쓴 것이었습니다.
궁금한게 하나 있습니다. 위 소스에서 아래 변수에 관해서 궁금한게 있습니다

if(!$mem) $mem="1";
else $mem="0";

위 $mem 의 변수는 어디에서 온건가요? 그리고 용도를 좀 알려주세요.
아..$mem은 로그인한 회원인지 아닌지를 체크하는 부분입니다.
<?=r_latest("ad_latest", 게시판명, 1, 40, "$member[mb_id]");?>
이것처럼 $member[mb_id] 가 있는지 없는지를 판단하여 회원이 아닐경우 회원만 보여줄 광고를 노출하지 않게 되어있습니다..^^
extend 폴더 안에 developer.lib.php 파일이 저는 없는데요

http://www.sir.co.kr/bbs/tb.php/g4_tiptech/27 에는 소스가 없어요

developer.lib.php 파일도 올려 주시면 더욱 고맙겠습니다.
메모장에다가요

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

//랜덤 게시물 추출하기
function r_latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $mem)
{
global $g4;

if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";

$list = array();

$sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
$board = sql_fetch($sql);

$today = $g4[time_ymd];
if(!$mem) $mem="1";
else $mem="0";

$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
$sql = " select * from $tmp_write_table where wr_is_comment='0' and wr_1>='$today' and wr_3 >= '$mem' order by rand() desc limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);

ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();

return $content;
}
?>

이렇게 입력하시고 developer.lib.php 로 저장하신 다음에 업로드 하시면 되요^^
2006-04-15 (토) 01:30:25
와우~멋져요~^^
감사합니다~^^ 잘 쓰세요~
우아아 고맙습니다 ㅎㅎㅎ ㄳㄳ
감사합니다~^^
오 색다른데요~
감사합니다
잘사용하겠습니다
감사합니다^^ 잘 쓰세요~
2006-04-19 (수) 09:41:26
오 신기하네요 한번 써봐야겠네요^6
감사합니다.
NGIN님의 정성이 깃든 스킨이라고 생각됩니다...
유명 포탈사이트에서 본듯한 기능을 그누에서도 구현할수 있다니... 이런 감격이... ^0^
정말 수고하셨구여.. 감사합니다.
2006-04-21 (금) 10:54:26
죽음임다...
Warning: main(./extend/developer.lib.php): failed to open stream: No such file or directory in /web/home/rlaquddlf/html/PINK/ad.php on line 6

Warning: main(): Failed opening './extend/developer.lib.php' for inclusion (include_path='.:/usr/lib/php/pear') in /web/home/rlaquddlf/html/PINK/ad.php on line 6

이렇게 뜹니다..ㅜ.ㅜ.. 사용 할수 잇게 도와 주셔요..ㅜ.ㅜ.....
에구 6번라인 include_once("$g4[path]/extend/developer.lib.php"); 이넘을 지우니깐 되는군요,
자문 자답이 되엇네요.. 잘 사용할께요
2006-04-25 (화) 21:10:31
감사합니다....잘사용하겠습니다..^^
2006-05-28 (일) 23:19:49
header("Content-Type: text/html; charset=$g4[charset]");
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0

head.sub.php 파일에서 위의 라인은 32~38라인입니다.
제 계정 extend안에 developer.lib.php 를 넣었더니 32,34,35,36,37,38 라인 에러가 납니다. head.sub.php 안에서 났다고 메시지가 뜨는데...어찌해야할까요
2006-05-28 (일) 23:24:48
오..해결했네요^^&
?>줄을 삭제했더니 깔끔해졌네요 히히히~
너무 좋습니다 근데 굳이 developer.php를 extend에 넣어야 하나요? 전 에러나서 그냥 ad.php 위에다 포함시켜 버렸음.
너무 좋습니다
초보자들을 위해서 완전수정판을 올려주시면 않될까요? 부탁드립니다..
필요한 것이엿는데.. ^^ 정말 감사합니다.
감사합니다.^^ 감사합니다.^^...
Fatal error: Cannot redeclare r_latest() (previously declared in /home/hosting_users/kenip/www/extend/developer.lib.php:3) in /home/hosting_users/kenip/www/extend/developer.lib.php on line 31 이런오류가 뜨는데 왜그런가요?
덮어씌우니깐 - -;;;괜찮아졌네요..진땀 뺏습니다 ㅠ_ㅠ
앗 성공했슴당 감사해요^_^
여러개를 랜덤 추출하고 싶은대요 가로 3개 세로 4개 총 12개를 추출하고 싶어요
글애서 추출시에 <?=r_latest("text", text, 12, 40, "$member[mb_id]");?>
일케 하려는대 안되네요,
어떻게 하면 좋을까요...

글씨대신 이미지 추출하는건 성공했습니다 ^^v
2006-07-28 (금) 15:34:32
훌륭합니다.
좋은 게시물 감사합니다. ^^
good~~~~
2006-10-20 (금) 17:42:17
ㄳ
^^ 제가 찾던 넘입니당...^^ 감사히 잘 쓰겠습니다..~
제홈피에 바로 적용해보겠습니다...ㅋㅋ
2006-11-29 (수) 05:13:00
사랑합니다.
2006-12-26 (화) 16:25:16
저두 관심이 있던건데 잘 써볼게요. 감사합니다.
2006-12-26 (화) 16:34:49
제가 그누보드를 접한지 이제 4일이 되어서 잘 모릅니다.

제가 따라해보려하는데 모르는 것이 있어서요.

윗글에

<설치방법>
extend 폴더 안에 developer.lib.php 파일을 열어 아래의 소스를 맨 아래 ?> 위에 붙여 넣으세요.

근데 extend 폴더는 어디에 위치하고 있나요?

그누보드 압축해제하고 여기저기 봐도 extend 폴더가 있는 위치를 못찾겠습니다.

아시는 분이 있다면 폴더경로 자세히 가르셔 주시면 고맙겠습니다.

앞으로 잘 부탁드립니다. 감사합니다.
감사~
2007-01-01 (월) 23:55:01
감사히 잘 쓰겠습니다.^^
한번에 설치했네요 ㅎ 좋은정보 감사합니다 .
2007-02-10 (토) 02:43:27
select * from g4_write_게시판명 where wr_is_comment='0' and wr_1>='2007-02-10' and
이렇게 나오면서 안되는데 어떻게 하면되나용?
2007-04-04 (수) 13:53:55
좋은 스킨 감사합니다~^^
좋은 스킨 감사 드립니다
2008-03-05 (수) 11:22:00
잘 만드셨네요
감사합니다.
사용???
2012-08-02 (목) 20:08:16
상당히 유용할듯한 팁이네요
댓글을 작성하시려면 로그인이 필요합니다.

그누4 스킨

5,847건

스킨의 저작권은 해당 스킨 제작자님께 있으며, 그누보드의 저작권과 다를 수 있습니다. 스킨 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y 그누보드와 관련이 있지만 스킨과 빌더가 아니면 플러그인 게시판에 올려주세요.

+
분류 제목 글쓴이 날짜 조회
외부로그인 06-04-17 조회 3,182
전체검색 06-04-17 조회 9,054
게시판 06-04-16 조회 2,798
게시판 06-04-13 조회 6,567
최신글 06-04-13 조회 6,090
게시판 06-04-13 조회 6,593
외부로그인 06-04-12 조회 4,948
최신글 06-04-12 조회 7,140
게시판 06-04-11 조회 2,702