채택완료

그룹 최신글에서 제목 앞에 카테고리 출력하는 법 (해결)

2020-07-21 (화) 18:11:09 4,916

안녕하세요. https://sir.kr/g5_tip/6683 이 게시물을 참고하여 최신글 목록을 만들고 있습니다.

1) 호출된 최신글 앞에 카테고리 이름을 출력하고 싶은데 어떤 부분을 수정하면 될까요?

찾아본 글들에는 ca_name을 바로 출력하는 방법을 사용했는데, 제가 쓰는 코드에 맞지 않은 것 같아 질문드립니다

2) 그룹 최신글 목록을 호출할 때, 기본 최신글 코드에 카테고리 제목이 표시되는 것처럼 그룹 제목을 표시하고 싶은데 어떻게 하면 될까요?

latest.lib.php 파일

Copy
/* 사용방법:
<?php
//echo latest_group2("최신글스킨", "그룹이름", 게시물수, 제목글자수, 본문글자수,"옵션","카테고리","정렬방식");
echo latest_group2("basic", "그룹이름", 게시물수, 제목글자수, 본문글자수,"","","");
?>
*/

function latest_group2($skin_dir="", $gr_id, $rows=10, $subject_len=40, $contents_len=200, $options="", $category="", $orderby="") {
    global $config;
    global $g5;

    $list = array();
    $limitrows = $rows;

    $sql_groupname = " select gr_subject from {$g5['group_table']} where gr_id='{$gr_id}' ";
    $rowgroup = sql_fetch_array(sql_query($sql_groupname));
    $gr_subject = $rowgroup['gr_subject'];

    $sqlgroup = " select bo_table, bo_subject from {$g5['board_table']} where gr_id='{$gr_id}' and bo_use_search=1 order by rand()";
    $rsgroup = sql_query($sqlgroup);
    if (!$skin_dir) $skin_dir = 'basic';


    for ($j=0, $k=0; $rowgroup = sql_fetch_array($rsgroup); $j++) {
        $bo_table = $rowgroup['bo_table'];

        // 테이블 이름구함
        $sql = " select * from {$g5['board_table']} where bo_table='{$bo_table}'";
        $board = sql_fetch($sql);

        $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 실제이름

        $subqry = "";

        // 답변글 출력제외
        //$subqry = "&& wr_reply = ''";

        // 공지사항 출력제외
        $arr_notice = preg_replace("/\n/",',', trim($board['bo_notice']));
        if($arr_notice) {
            $subqry = $subqry." && wr_id Not in ({$arr_notice}) ";
        }

        // 옵션에 따라 정렬
        $sql = "select * from {$tmp_write_table} where wr_is_comment = 0 ";
        $sql .= (!$category) ? "" : " and ca_name = '{$category}' ";
        $sql .= $subqry;
        $sql .= (!$orderby) ? "  order by wr_datetime desc " : "  order by {$orderby} desc, wr_datetime desc ";
        $sql .= " limit ".$limitrows."";
        $result = sql_query($sql);

        for ($i=0; $row = sql_fetch_array($result); $i++, $k++) {

            if(!$orderby) {
                $op_list[$k] = $row['wr_datetime'];
            } else  {
                $op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
                $op_list[$k] .= $row['wr_datetime'];
                $op_list[$k] .= $row['wr_name'];
            }

            $list[$k] = get_list($row, $board, $latest_skin_path, $subject_len, $wr_name, $wr_10);

            $list[$k]['bo_table'] = $board['bo_table'];
            $list[$k]['bo_subject'] = $board['bo_subject'];
            $list[$k]['wr_name'] = $board['wr_name'];

            $list[$k]['bo_wr_subject'] = cut_str($board['bo_subject'] . $list[$k]['wr_subject'], $subject_len, $wr_name, $wr_10);
        }
    }

    if($k>0) array_multisort($op_list, SORT_DESC, $list);
    if($k>$rows) array_splice($list, $rows);

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

}

--> latest.skin.php를 수정해야 하는데 엄한 곳을 찾고 있었네요;

답변 1개

채택된 답변
+20 포인트

답변을 작성하려면 로그인이 필요합니다.