기간제 최신글에서 특정게시판의 최신글만 링크를 다르게..... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

기간제 최신글에서 특정게시판의 최신글만 링크를 다르게..... 정보

기간제 최신글에서 특정게시판의 최신글만 링크를 다르게.....

본문

기간제 최신글에서 특정게시판의 최신글만 링크를 다르게.....
 
그룹내 게시판의 게시글중 조회순으로 최신글이 보여지는 최신글 스킨 사용중인데요
 
최신글중에서 특정게시판의 글의 경우만 최신글 스킨에서
링크를 원래 링크가 아닌 별도의
예) http://naver.com 이런식으로 링크를 줄수 있는지요
도움주시면 감사드립니다.. ^^*
 
 
먼저 같은 질문에서 어떤분이 조건문으로 하라고 하셨는데요?
최신글 스킨부분에서 제외 시키고자 하는 게시판의 최신글만 조건문으로
원래글의 링크가 아닌 따로 지정한 링크로 예)http://naver.com 과 같이
(제외 시키고자 하는 게시판의 최신글은 모두 naver.com 으로 똑같이)
주려면 조건문을 어떻게 주어야 하나요.. 고수님들 도움 부탁드립니다.
 
== 기간제 최신글 스킨부분 ==
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<table width=100% cellpadding=0 cellspacing=0 >
<? for ($i=0; $i<count($list); $i++) { ?>
<tr>
    <td colspan=4 align=center >
        <table width=95% valign=top border=0 cellpadding=0 cellspacing=0>
        <tr>
            <td height=22><img src="<?=$latest_skin_path?>/img/btn<?=$titles?>_<?=$i+1?>.gif" width="12" height="11" align="absmiddle"> 
            <?
            echo $list[$i]['icon_reply'] . " ";
            //echo "<a href='{$list[$i]['href']}' target=_parent>";
   echo "<a href='{$list[$i]['href']}' target=ucc>";
            if ($list[$i]['is_notice'])
                echo "<font style='font-family:굴림; font-size:9pt; '>{$list[$i]['subject']}</font>";
            else
                echo "<font style='font-family:굴림; font-size:9pt; '>{$list[$i]['subject']}</font>";
            echo "</a>";
            //if ($list[$i]['comment_cnt']) //
                //echo " <a href=\"{$list[$i]['comment_href']}\"><span style='font-family:돋움; font-size:8pt; '>{$list[$i]['comment_cnt']}</span></a>";//
            // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }
            // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }
            ?></td></tr>
       
        </table></td>
</tr>
<? } ?>
<? if (count($list) == 0) { ?><tr><td colspan=4 align=center height=50>게시물이 없습니다.</a></td></tr><? } ?>
</table>
 
= 기간제 최신글 스킨 = 
 
 

댓글 전체

특정게시판만 네이버(특정링크)로 걸려고 하시는거 맞죠?
그럼..
echo "<a href='{$list[$i]['href']}' target=ucc>";
요걸..

if ($bo_table =="특정게시판") { //특정게시판만..
echo "<a href='네이버(특정 링크)' target=ucc>"; //특정 링크 걸기
} else { //그외게시판은..
echo "<a href='{$list[$i]['href']}' target=ucc>"; //본래링크 그대로 걸기
}

요런식으로하시면 되겠네요..
특정게시판이 2~3개이라면..
if ($bo_table =="특정게시판" || $bo_table =="특정게시판2" || $bo_table =="특정게시판3") { //특정게시판몇개만..
이런식으로 2~3개 또는 그 이상을 지정할 수 있어요.
먼저 답변을 주셔서 정말 감사드립니다. 치에님 ^^*

말씀하신대로 해보았는데요.. else 문만 실행 되는듯 합니다.
특정링크걸기 가 되지 않고 본래링크만 됩니다.

해서 아래 부분에 echo "테이블값:{$bo_table}";  추가해보면
bo_table 값이 넘어오지 못해서 비교가 안되는듯 한데요...

혹시 일반적인 최신글 스킨이 아니라  기간제 스킨이라
izen.hit.lib.php 파일을 extend 폴더에 올려서
<? echo izen_group('topclick', 'sell_board', wr_hit, 10, 32, 30); ?>
와 같이 사용하고 있어서 그런것은 아닌지.. ^^;

= 기간제 최신글 스킨 =
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=42102&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%B1%E2%B0%A3%C1%A6&sop=and

다시한번 도움 부탁드립니다. ^^*
== izen.hit.lib.php==

<?
if (!defined('_GNUBOARD_')) exit;

/*
izen.group.lib.php
제작일 : 2006-12-08

지정 기간제 히트순 최근 게시물 수정본
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328

그룹 최신글 관련하여 통합하도록 하였다.
정렬 필드값에 의해서 SQL 문을 추가하도록 하면 된다.

izen_group('스킨', '그룹명', 정렬필드, 출력갯수, 자를 문자열, 최근 몇일간을 출력할 것인가?);
예) echo izen_group('gr_best_news', 'news', wr_hit, 10, 28, 30);
*/

# 인기글
function izen_usort1($a, $b)
{
return $b['wr_hit'] - $a['wr_hit'];
}

# 헤드라인
function izen_usort2($a, $b)
{
return $b['wr_good'] - $a['wr_good'];
}

# 최신글 추출
function izen_group($skin_dir="", $gr_id, $izen_sort, $rows=10, $subject_len=40, $listdate)
{
global $g4;

$nowYmd = date(Ymd); # 시작시간을 구합니다.
$time = time();
$startYmd = date("Ymd",strtotime("-".$listdate." day", $time));

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 bo_table from {$g4['board_table']} where gr_id='$gr_id' and bo_use_search='1' order by bo_order_search ";
$ress = sql_query($sql);
for($i=0, $ii=0; $board=sql_fetch_array($ress); $ii++)
{
$tmp_write_table = $g4['write_prefix'] . $board['bo_table']; # 게시판 테이블 전체이름
#$sql = "select * from `$tmp_write_table` where wr_is_comment <> '1' and  date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $sort desc limit 0, $rows ";

# 정렬 필드에 의해서 전체적으로 정렬, 관리한다.
if ($izen_sort == 'wr_hit')
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_scrap')
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_scrap <> 0 order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_datetime') # wr_1 헤드라인
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_1 = 1 order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_good') #
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_good <> '0'  order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_id')
{
$sql_gr_Q = " wr_is_comment <> '1' order by $izen_sort desc limit 0, $rows ";
}

$sql = " select * from `$tmp_write_table` where $sql_gr_Q ";
$result = sql_query($sql);

#for (; $row=sql_fetch_array($result); $i++) # *오류* 전체 게시물 가운데 날짜에 상관없이 히트순으로 지정한 갯수만큼 출력된다.
for ($i==0; $row=sql_fetch_array($result); $i++)
{
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len, $listdate);
}
}

if ($izen_sort == 'wr_hit')
{
usort($list, 'izen_usort1');
}

elseif ($izen_sort == 'wr_good')
{
usort($list, 'izen_usort2');
}

$list= array_slice($list, 0, $rows);

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

return $content;
}
?>
위의 lib 화일입니다...

<?
if (!defined('_GNUBOARD_')) exit;

/*
izen.group.lib.php
제작일 : 2006-12-08

지정 기간제 히트순 최근 게시물 수정본
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328

그룹 최신글 관련하여 통합하도록 하였다.
정렬 필드값에 의해서 SQL 문을 추가하도록 하면 된다.

izen_group('스킨', '그룹명', 정렬필드, 출력갯수, 자를 문자열, 최근 몇일간을 출력할 것인가?);
예) echo izen_group('gr_best_news', 'news', wr_hit, 10, 28, 30);
*/

# 인기글
function izen_usort1($a, $b)
{
return $b['wr_hit'] - $a['wr_hit'];
}

# 헤드라인
function izen_usort2($a, $b)
{
return $b['wr_good'] - $a['wr_good'];
}

# 최신글 추출
function izen_group($skin_dir="", $gr_id, $izen_sort, $rows=10, $subject_len=40, $listdate)
{
global $g4;

$nowYmd = date(Ymd); # 시작시간을 구합니다.
$time = time();
$startYmd = date("Ymd",strtotime("-".$listdate." day", $time));

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 bo_table from {$g4['board_table']} where gr_id='$gr_id' and bo_use_search='1' order by bo_order_search ";
$ress = sql_query($sql);
for($i=0, $ii=0; $board=sql_fetch_array($ress); $ii++)
{
$tmp_write_table = $g4['write_prefix'] . $board['bo_table']; # 게시판 테이블 전체이름
#$sql = "select * from `$tmp_write_table` where wr_is_comment <> '1' and  date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $sort desc limit 0, $rows ";

# 정렬 필드에 의해서 전체적으로 정렬, 관리한다.
if ($izen_sort == 'wr_hit')
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_scrap')
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_scrap <> 0 order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_datetime') # wr_1 헤드라인
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_1 = 1 order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_good') #
{
$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_good <> '0'  order by $izen_sort desc limit 0, $rows ";
}
elseif ($izen_sort == 'wr_id')
{
$sql_gr_Q = " wr_is_comment <> '1' order by $izen_sort desc limit 0, $rows ";
}

$sql = " select * from `$tmp_write_table` where $sql_gr_Q ";
$result = sql_query($sql);

#for (; $row=sql_fetch_array($result); $i++) # *오류* 전체 게시물 가운데 날짜에 상관없이 히트순으로 지정한 갯수만큼 출력된다.
for ($i==0; $row=sql_fetch_array($result); $i++)
{

$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len, $listdate);
$list[$i]['bo_table'] = $board['bo_table'];
}

}

if ($izen_sort == 'wr_hit')
{
usort($list, 'izen_usort1');
}

elseif ($izen_sort == 'wr_good')
{
usort($list, 'izen_usort2');
}

$list= array_slice($list, 0, $rows);

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

return $content;
}
?>
출력부분은

치에님 소스를

echo "<a href='{$list[$i]['href']}' target=ucc>";
요걸..

if ($list[$i][bo_table] =="게시판아이디") { //특정게시판만..
echo "<a href='네이버(특정 링크)' target=ucc>"; //특정 링크 걸기
} else { //그외게시판은..
echo "<a href='{$list[$i]['href']}' target=ucc>"; //본래링크 그대로 걸기
}
감사드립니다. 지앤미 님 말씀하신대로 하여서 해결이 되었습니다. ^^*
치에 님께도 정말 감사드립니다. 두분에게 모두 포인트를 드려야 되는데..
여건상 한분에게만.. 치에님 죄송~~ ^^;;
치에 님 , 지앤미 님 다시 한번 감사드리며, 즐거운 주말되시길 바랍니다. ^^*
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT