여분필드(글자르기)와 최신글 관련 질문입니다. > 그누4 질문답변

그누4 질문답변

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

여분필드(글자르기)와 최신글 관련 질문입니다. 정보

여분필드(글자르기)와 최신글 관련 질문입니다.

본문

안녕하세요.
그누보드 초보가 게시판을 조금 수정하여 사용해보려고 노력하고 있는 중입니다.
 
일단 팁, 질문답변 게시판을 보고 여분필드를 통하여 제가 원하는 대로 항목을 늘이는것은 성공하였습니다.
리스트에서도 제가 추가한 항목 제대로 잘 보이고, 쓰기, 수정, 삭제 다 잘되네요.
 
그런데 몇가지 미비한 점이 있어서...
 
1.
view.skin.php 에 <?=$view[wr_1]?>, <?=$view[wr_2]?>, <?=$view[wr_3]?>...
write.skin.php 에 <?=$write[wr_1]?>, <?=$write[wr_2]?>, <?=$write[wr_3]?>...
list.skin.php 에 <?=$list[$i][wr_1]?>, <?=$list[$i][wr_2]?>, <?=$list[$i][wr_3]?>...
 
제가 위처럼 원하는 항목을 추가하였습니다.
 
그런데 리스트에서 보여지는 글을 제가 원하는 만큼 글자르기를 할려면 어떻게 해야 하는지요...?
 
예를 들어서
wr_1 에 "취미"란 항목을 만들었다고 할때
글쓰기나 글을 볼때는 글자수의 제한이 없게 작성되고, 글이 보여도 상관 없지만,
리스트에서는 제가 원하는 글자수만 나오게 하고 싶습니다.
 
그러니깐 입력은 "동해물과 백두산이..."라고 했었도
리스트에서는 "동해물" 이런식으로만 보여지게끔...
 
2.
지금 저에게 가장 필요한 기능인데,
위에 제가 추가한 항목중 일부를 최신글에서도 보이게 하고 싶습니다.
 
<?=$view[wr_1]?>, <?=$write[wr_1]?>,  <?=$list[$i][wr_1]?> 등을 최신글 소스에 넣어봐도 전혀 안먹히네요.
 
전 단지 여분필드항목추가를 wr_1, wr_2, wr_3 ... 등으로 간단히 하였습니다.
 
오늘 이부분 때문에 팁, 질문답변 게시판을 1시간 넘게 검색해봤지만 결국엔...
어떤곳에 답변중에 이전글 링크가 되어 있어서 따라가보면 그 글을 찾을수가 없다고 나오고...
 
제가 사용하는 최신글 기본 소스는 아래와 같습니다.
여기서 어디다 어떻게 내용을 추가해줘야 제가 추가한 항목을 최신글에서도 보이게 할수 있을런지요?
 
도움 부탁드리겠습니다.
--------------------------------------------------------------------------------------
 
 
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<table width=100% cellpadding=0 cellspacing=0>
<colgroup width=14>
<colgroup>
<colgroup width=37>
<colgroup width=14>
<tr>
    <td><img src='<?=$latest_skin_path?>/img/latest_t01.gif'></td>
    <td background='<?=$latest_skin_path?>/img/bg_latest.gif'>  <strong><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'><?=$board[bo_subject]?></a></strong></td>
    <td background='<?=$latest_skin_path?>/img/bg_latest.gif'><a href='<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>'><img src='<?=$latest_skin_path?>/img/more.gif' border=0></a></td>
    <td><img src='<?=$latest_skin_path?>/img/latest_t02.gif'></td>
</tr>
<? for ($i=0; $i<count($list); $i++) { ?>
<tr>
    <td colspan=4 align=center>
        <table width=95%>
        <tr>
            <td height=25><img src='<?=$latest_skin_path?>/img/latest_icon.gif' align=absmiddle>  
            <?
            echo $list[$i]['icon_reply'] . " ";
            echo "<a href='{$list[$i]['href']}'>";
            if ($list[$i]['is_notice'])
                echo "<font style='font-family:돋움; font-size:9pt; color:#2C88B9;'><strong>{$list[$i]['subject']}</strong></font>";
            else
                echo "<font style='font-family:돋움; font-size:9pt; color:#6A6A6A;'>{$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; color:#9A9A9A;'>{$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']}>"; }
            echo " " . $list[$i]['icon_new'];
            echo " " . $list[$i]['icon_file'];
            echo " " . $list[$i]['icon_link'];
            echo " " . $list[$i]['icon_hot'];
            echo " " . $list[$i]['icon_secret'];
            ?></td></tr>
        <tr><td bgcolor=#EBEBEB height=1></td></tr>
        </table></td>
</tr>
<? } ?>
<? if (count($list) == 0) { ?><tr><td colspan=4 align=center height=50><font color=#6A6A6A>게시물이 없습니다.</a></td></tr><? } ?>
</table>

댓글 전체

//list.skin.php 제목출력 옆에 넣어보세요. 예로 wr_3 이라면..  5는 길이.
<?
 //wr_3 글자 자르기 출력
  if($list[$i][wr_3]){
  $list[$i][wr_3]=conv_subject($list[$i][wr_3],5, "…");
  echo"("."{$list[$i][wr_3]}".")";
  }
 ?>
오달수님 답변 정말 감사합니다.

그런데...
말씀하신
<?
 //wr_3 글자 자르기 출력
  if($list[$i][wr_3]){
  $list[$i][wr_3]=conv_subject($list[$i][wr_3],6, "…");
  echo"("."{$list[$i][wr_3]}".")";
  }
 ?>
를 정확히 어디다 넣어야 하는건간요...?

<?=$list[$i][wr_3]?>의 앞쪽 이곳 저곳에 넣어봤더니,
<?=$list[$i][wr_3]?>부분에서 글자길이가 제대로 짤려서 나오나 위의 코드를 입력한 부분에 똑같은 내용이 나오네요. 그것도 양옆에 ()가 쳐져서...

그래서 아예 <?=$list[$i][wr_3]?>자리에 저 위코드를 대체해서 넣으면 당연히 (항목내용...) 이런식으로 나오고...

참고로 저는 기본스킨의 11번 게시물에 있는 게시판을 사용하고 있습니다.

아래는 리스트파일의 부분적인 내용입니다.

<tr height=28 align=center>
    <td>
        <?
        if ($list[$i][is_notice]) // 공지사항
            echo "<img src=\"$board_skin_path/img/notice_icon.gif\" width=30 height=16>";
        else if ($wr_id == $list[$i][wr_id]) // 현재위치
            echo "<font color='#2C8CB9'><strong>{$list[$i][num]}</strong>";
        else
            echo "{$list[$i][num]}";
        ?></td>
    <? if ($is_category) { ?><td><a href="<?=$list[$i][ca_name_href]?>"><font color=gray><span class=small><?=$list[$i]

[ca_name]?></span></font></a></td><? } ?>
    <? if ($is_checkbox) { ?><td><input type=checkbox name=chk_wr_id[] value="<?=$list[$i][wr_id]?>"></td><? } ?>
    <td align=left style='word-break:break-all;'>
        <?
        echo $nobr_begin;
        echo $list[$i][reply];
        echo $list[$i][icon_reply];
        echo "<a href='{$list[$i][href]}'>";
        if ($list[$i][is_notice])
            echo "<font color='#FB9606'><strong>{$list[$i][subject]}</strong></font>";
        else
        {
            $style = "";
            if ($list[$i][icon_new])
                $style = " style='font-weight:bold;' ";
            echo "<span $style>{$list[$i][subject]}</span>";
        }
        echo "</a>";

        if ($list[$i][comment_cnt])
            echo " <a href=\"{$list[$i][comment_href]}\"><span style='font-size:7pt;'>{$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']}>"; }

        //echo " " . $list[$i][icon_new];
        echo " " . $list[$i][icon_file];
        echo " " . $list[$i][icon_link];
        echo " " . $list[$i][icon_hot];
        echo " " . $list[$i][icon_secret];
        echo $nobr_end;
        ?>
</td>
    <td><?=$list[$i][wr_1]?></td>
    <td><?=$list[$i][wr_2]?></td>
    <td><?=$list[$i][wr_3]?></td>
    <td><?=$list[$i][name]?></td>
    <td><?=$list[$i][datetime2]?></td>
    <td><?=$list[$i][wr_hit]?></td>
    <? if ($is_good) { ?><td align="center"><?=$list[$i][wr_good]?></td><? } ?>
    <? if ($is_nogood) { ?><td align="center"><?=$list[$i][wr_nogood]?></td><? } ?>
</tr>


-----------------------------------------

아... 그리고 질문처럼 제가 추가한 여분필드의 내용을 최신글로 보여주기는 정말 어려운건가요...?
view.skin.php에 아래라인 밑에
<span class="ct lh"><?=$view[content];?></span>


<br><font color=red>나는 wr_3:<b><?=$view[wr_3]?></b></font><br>
이렇게 썻을때 wr_3의 내용이 잘 보여진다면

list.skin.php에서
아래 부분밑에
echo "<span $style>{$list[$i][subject]}</span>";
//wr_3 글자 자르기 출력
 if($list[$i][wr_3]){
 $list[$i][wr_3]=conv_subject($list[$i][wr_3],5, "…");
 echo"("."{$list[$i][wr_3]}".")";
 }
오달수님 신경써주셔서 정말 감사합니다.

그런데 일단 제가 view.skin.php의 <span class="ct lh"><?=$view[content];?></span>
아래부분이 아닌 한참 위부분에 <?=$view[wr_3]?> 가 보여지게 해논 상태입니다.

알려주신대로
list.skin.php를 또 수정해 봤는데,
wr_3의 내용은 원하는 대로 잘 나오나 제목옆에도 이전과 마찬가지로 (항목내용) 이 나와 버리네요.
오달수님 정말 정말 감사합니다.

list.skin.php 파일에서

echo "<span $style>{$list[$i][subject]}</span>";
무조건 이거 밑에 아래를 입력해 줘야 하는줄 알았습니다.
 
<?
//wr_3 글자 자르기 출력
 if($list[$i][wr_3]){
 $list[$i][wr_3]=conv_subject($list[$i][wr_3],5, "…");
 echo"{$list[$i][wr_3]}";
 }
?>
그리고 또 원하는 위치에
<?=$list[$i][wr_3]?>
이걸 써주고..

초보의 한계는 어쩔수 없어요...^^

<?=$list[$i][wr_3]?> 자리가 들어가야 할곳에
<?=$list[$i][wr_3]?> 대신
아래와 같이 해주니 글도 원하는 대로 잘리고 ()도 없어졌네요.

<?
//wr_3 글자 자르기 출력
 if($list[$i][wr_3]){
 $list[$i][wr_3]=conv_subject($list[$i][wr_3],5, "…");
 echo"{$list[$i][wr_3]}";
 }
?>

wr_3 뿐만 아니라 wr_1... 모두 잘 적용 됩니다.

정말 정말 감사드립니다.

이젠 최신글에 보여지게 하는것만 남았네요.
최신글 스킨 제목 표시부분에 똑같이 써주면 되죠.



<tr>
        <td colspan="2" height='25'><a href='<?="{$list[$i][href]}"?>'> <img src=<?=$latest_skin_path?>/arrow.gif border=0>&nbsp;
            <?=cut_str($list[$i][subject],25,"...");?>
            <font color='blue'><?=cut_str($list[$i][wr_1],10,"...");?>&nbsp;</font>
            <font color='red'><?=cut_str($list[$i][wr_2],10,"...");?>&nbsp;</font>
            <font color='green'><?=cut_str($list[$i][wr_3],10,"...");?>&nbsp;</font>
</a>
            <?
            if ($list[$i][comment_cnt])
                echo " <a href=\"{$list[$i][comment_href]}\"><span style='font-family:돋움; font-size:8pt; color:#9A9A9A;'>{$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']}>"; }
echo " " . $list[$i][icon_new];
echo " " . $list[$i][icon_file];
echo " " . $list[$i][icon_link];
echo " " . $list[$i][icon_hot];
echo " " . $list[$i][icon_secret];
            ?>
</td></tr>
오달수님...

최신글 올려주신 방법으로 너무나도 잘되고 있습니다.
정말 정말 정말 정말 감사합니다.

덕분에 고민하던것들이 모두 해결되었습니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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