최근 게시물에 카테고리 아이콘 뽑기에 대해 문의 드립니다.

게시판에서 카테고리를 아이콘으로 뽑는데는 성공했습니다.
같은 방법으로 최근 게시물에 적용하였습니다만..
 
공지 이미지가 뜨길래 되는 줄 알고배포했더니 아니네요.. 헐헐..;;
 
 
문의드리고자 하는 부분은...
아래 소스입니다.
======================================================================
<?
 if ($list[$i][ca_name] == "뉴스") {
  $ca_img = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle'>";
 } elseif ($list[$i][ca_name] == "이벤트") {
  $ca_img = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle'>";
 } else {
  $ca_img = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle'>";
 }
?>
======================================================================
 
이부분이 소스 상단에 위치하던 for문안에 있던 둘다 작동이 되지 않네요.
 
 
제 생각에는..
======================================================================
if ($list[$i][ca_name] == "이벤트")
======================================================================
이래저래 해봐도 요게 최근 게시물에서 안먹히는 것 같습니다.
 
======================================================================
<?=$list[$i][ca_name]?>
======================================================================
 요래 뽑으면 분명히 '이벤트'라고 출력이 되는데..
 
======================================================================
if ($list[$i][ca_name] == "이벤트") {
 echo "이벤트"; }
======================================================================
..라고 하면 '이벤트' 라고 출력이 안됩니다.
 
 
 
어찌하면 요 소스가 최근 게시물에 적용이 될까요??
|

댓글 9개

<?
$ca_img = "";
if($list[$i][ca_name] == "뉴스")
$ca_img = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle'>";
else if($list[$i][ca_name] == "이벤트") {
$ca_img = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle'>";
} else
$ca_img = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle'>";
?>
<?
$ca_img = "";
if($list[$i][ca_name] == "뉴스")
$ca_img = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle'>";
else if($list[$i][ca_name] == "이벤트")
$ca_img = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle'>";
else
$ca_img = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle'>";
?>
latest.lib 에서 $list = array(); 때문에 안먹히는 현상인듯 합니다.

for문안에 아래처럼 해주고


if ($list[$i][ca_name] == "뉴스") {
$list[$i][ca_img] = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle'>";
}
elseif ($list[$i][ca_name] == "이벤트") {
$list[$i][ca_img] = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle'>";
}
else {
$list[$i][ca_img] = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle'>";
}


이미지 출력을 $list[$i][ca_img] 로 해보세요.
두분 모두 답변 감사합니다.

에효.. 근데 2가지 다 적용이 안되네요..
for문 사이에 2가지 소스를 다 적용했는데도 불구하고..
이녀석은 계속 'notice'이미지만 추출합니다. 게시판에서 분명하게 '이벤트'카데고리가 선택되어 잇고. 게시판에서는 'event'이미지가 나오는데 반해 공지 추출에선 여전히 else 구문에 있는 'notice'이미지만 뽑네요.


=================================================================================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<table width="640" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" colspan="4" height="37" background="<?=$latest_skin_path?>/img/title_new.gif" align="right" style="padding-top:4;padding-right:2;"><a href='<?=$g4['bbs_path']?>/board.php?bo_table=<?=$bo_table?>'><img src="<?=$latest_skin_path?>/img/more.gif" border="0"></td>
</tr>
<tr>
<? for ($i=0; $i<count($list); $i++) { ?>
<?
if ($list[$i][ca_name] == "뉴스") {
$list[$i][ca_img] = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle'>";
} elseif ($list[$i][ca_name] == "이벤트") {
$list[$i][ca_img] = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle'>";
} else {
$list[$i][ca_img] = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle'>";
}
?>
<? if ($i==0) { ?>
<td width="3"></td>
<td width="422" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="161" align="center">
<? $image = urlencode($list[$i][file][0][file]); // 첫번째 파일이 이미지라면
if (preg_match("/\.(gif|jpg|png)$/i", $image) && file_exists("$g4[path]/data/file/$bo_table/$image")) {
echo "<a href='{$list[$i][href]}'><img src='$g4[path]/data/file/$bo_table/$image' width='150' height='140' border='0'></a>";
} else {
echo "<a href='{$list[$i][href]}'><img src='$latest_skin_path/img/no_img.gif' width='150' height='140' border='0'></a>";
} ?></td>
<td width="5"></td>
<td width="256" valign="top" style="word-break:break-all;line-height:140%; padding-top:8;"><?=nl2br(cut_str($list[$i][wr_content],310,".. <a href='{$list[$i][href]}'><img src='{$latest_skin_path}/img/co_more.gif' border='0' align='absmiddle'></a>"))?></td>
</tr>
</table>
</td>
<td width="10"></td>
<td width="215" align="left" valign="top">
<table width="205" border="0" cellpadding="0" cellspacing="0">
<? } else {?>
<tr>
<td height="28" OnMouseOver="this.style.backgroundColor='#F5F5F5';" OnMouseOut="this.style.backgroundColor='#FFFFFF'" style="padding-top: 3px;">&nbsp;<?=$list[$i][ca_img]?> <a href='<?=$list[$i][href]?>'><?=$list[$i][subject]?></a></td>
<!--<td width="27%" style="padding-top: 2px;" align="center" style="font-family:Tahoma;font-size:7pt"><?=$list[$i][datetime]?></td>-->
</tr>
<tr>
<td width="100%" height="1" bgcolor="e5e5e5"></td>
</tr>
<? } ?>
<? } ?>
</table>
</td>
</tr>
</table>
=================================================================================
본 내용 소스구요..
게시판에서 카테고리는 '뉴스|이벤트'라고 적용해놓았습니다. 공지는 관리자일때 선택이 되어서 따로 카테고리를 추가 하지 않았습니다.
<?
$ca_name = $list[$i][ca_name];
$ca_img = "";
if($ca_name == "뉴스")
$ca_img = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle' alt='$ca_name'>";
else if($ca_name == "이벤트")
$ca_img = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle' alt='$ca_name'>";
else
$ca_img = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle'>";
?>
잉? 썼는데 오류로 안써졌네..;;
천상님의 소스를 적용했습니다.

<?
$ca_name = $list[$i][ca_name];
$ca_img = "";
if($ca_name == "뉴스")
$ca_img = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle' alt='$ca_name'>";
else if($ca_name == "이벤트")
$ca_img = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle' alt='$ca_name'>";
else
$ca_img = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle' alt='$ca_name'>";
?>

요로코롬해서.. $ca_name를 제대로 받아들이는지 alt로 확인하는 소스 같은데요..
이미지가 여전히 notice으로 뜨더라구요.
고래서 익스에서 소스를 봤더니..
<img src='./skin/latest/notice/img/notice.gif' border='0' align='absmiddle' alt='이벤트'>

요로코롬.. $ca_name는 제대로 받아 들이는것 같은데.. 이눔이 if문에서 여전히 작동을 못하고 else를 출력하네요.
아~ 황당한 시츄에이션인겁니다. ^^;;
제홈에서 테스트 해보고 올린것입니다만....ㅠ.ㅠ

http://www.triplecubic.com/k_G410/_test.php
(최신글에서 링크 클릭하지는 마십시오. 해당 게시판은 팝업창에서만 실행 제어를 해 놓아서 클릭시에 링크는 수정을 안한터라 메인페이지로 이동합니다)

테스트한 소스 첨부 합니다....

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

<table width='100%' cellpadding='0' cellspacing='0'>
<tr height='25'>
<td onClick="javascript:location.href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'"><div class="last_1b">&nbsp;&nbsp;<img src="<?=$g4[path]?>/image/ball/7.gif" width="8" height="8" alt=''>&nbsp;<strong><?=$board['bo_subject']?></strong></div></td>
</tr>
<!--tr height='25'>
<td align="left" bgcolor='#f6f6f6' style="padding-left:10px;cursor:pointer;cursor:hand;border:1px solid #dfdfdf;" onClick="javascript:location.href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'">▒&nbsp;&nbsp;<strong><font color='#bbbbbb'><?=$board['bo_subject']?></font></strong></td>
</tr-->
<?// echo"$board[bo_category_list]"; ?>
<? for ($i=0; $i<count($list); $i++) {
$ca_name = $list[$i][ca_name];
$ca_img = "";
if($ca_name == "한국")
$ca_img = "<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle' alt='$ca_name'>";
else if($ca_name == "북한")
$ca_img = "<img src='$latest_skin_path/img/event.gif' border='0' align='absmiddle' alt='$ca_name'>";
else
$ca_img = "<img src='$latest_skin_path/img/notice.gif' border='0' align='absmiddle' alt='ddd'>";

?>

<tr height='25'>
<td align="left" style="padding-left:10px;cursor:pointer;border-bottom:1px solid #BFBFBF;" onClick="javascript:location.href='<?=$list[$i][href]?>';"><font color='orange'>+<?=$ca_img?></font>&nbsp;&nbsp;<font color='#aaaaaa'><?=$list[$i][subject]?></font>&nbsp;<font color='#999999'><sup><?=$list[$i][comment_cnt]?></sup></font>&nbsp;<? if($list[$i][icon_new]) echo "<font color='#ff8040'><sup>new</sup></font>"; ?></td>
</tr>

<? } ?>

<? if (count($list) == 0) { ?><tr><td align='center' height='100'><font color='#6A6A6A'>게시물이 없습니다.</td></tr><? } ?>

</table>
아흑!! 이상합니다. 제 소스에서 뭔가 꼬였나봅니다.
천상님 소스에서는 분명히 나오는데.. 제 파일에서는 안나옵니다.. ㅠㅁㅠ
해결해 주셨으니 포인트 드립니다.

신경써주셔서 감사합니다.
$ca_img=array();
$ca_img['이벤트']="<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle' lt='$ca_name'>";
$ca_img['이벤트2']="<img src='$latest_skin_path/img/new.gif' border='0' align='absmiddle' lt='$ca_name'>";

for( .... ) {

.... <?=$ca_img[ $list[$i]['ca_name'] ]?> ....

}
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

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

+
제목 글쓴이 날짜 조회
19년 전 조회 1,519
19년 전 조회 2,024
19년 전 조회 1,877
19년 전 조회 1,534
19년 전 조회 1,588
19년 전 조회 1,510
19년 전 조회 1,600
19년 전 조회 1,657
19년 전 조회 1,515
19년 전 조회 1,569
19년 전 조회 1,521
19년 전 조회 1,509
19년 전 조회 2,484
19년 전 조회 2,499
19년 전 조회 1,703
19년 전 조회 1,560
19년 전 조회 2,103
19년 전 조회 1,542
19년 전 조회 1,580
19년 전 조회 1,603
🐛 버그신고