플록님이 제작하신 그룹 최신갤러리를 스크롤 되게끔 가능하신분 > 그누4 질문답변

그누4 질문답변

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

플록님이 제작하신 그룹 최신갤러리를 스크롤 되게끔 가능하신분 정보

플록님이 제작하신 그룹 최신갤러리를 스크롤 되게끔 가능하신분

본문

 
위 플록님이 제작하신 그룹 최신갤러리 입니다.
 
한페이지에 2개씩 보여주며 계속 스크롤 되게끔 할려 합니다.
 
 
다른 스킨들을 이용해서 이리저리 해봐도 안됩니다 ㅠ.ㅠ
 
오후부터 이것때문에 계속..
 
혹시 가능하신분 부탁드립니다.
 
아.. 실력의 한계를 느낍니다.
 
감사합니다.

댓글 전체

빌더 작업도 바쁘실텐데 비 인기 스킨을 테스트하고 계시군요,,^^

비 인기 종목이라서 설치해본 분이 별로 안계신듯합니다.

참고 경로라도 하나 올려 주시죠,,

덕분에 공부좀 해보도록 하겠습니다.
http://phosay.com/g4/gallery/?gur=sample_gal
상단에 적용시켜 보았습니다.

왼쪽은 썸네일을 크기 그대로 가져오고, 오른쪽은 원본파일을 강제축소한 이미지입니다.
현재 정렬 방법은 랜덤입니다.
이게 맞는다면 손을좀 보면 될듯합니다.
목진철님의 스킨에서 아래 부분만 수정한 것입니다.
http://www.sir.co.kr/bbs/tb.php/g4_skin/13340
호출은 그룹 최신이미지 처럼 다음과 같이 해줍니다.
<? echo group_new("scroll_product","그룹아이디", "rand()", 10, 5, 14); ?>

라이브러리 파일의 변수를 참조해서 원하는대로 변수를 치환해주면 됩니다.

<?
$java_script = "";
for ($i=0; $i<count($list); $i++) {
$image = urlencode($list[$i][file][0][file]); // 첫번째 파일이 이미지
$image2 = urlencode($list[$i][file][1][file]); // 두번째 파일이 이미지
$data_path = $g4['path'] . "/data/file/{$list[$i][bo_table]}";//라이브러리 파일 참조
$thumb_path = $data_path . '/thumb';
    $filename = $list[$i]['bf_file'];
    $dest_file = $data_path .'/'. $filename;
    $dest_thumb_file = $thumb_path .'/'. $filename;

$ooo='<table width=300 cellpadding=0 cellspacing=0 border=0><tr><td width=100%><table width=100%  cellpadding=0 cellspacing=0 border=0><tr><td width=50%  align=left valign=bottom><a href='.$list[$i][href].'><img src=\"'."$dest_thumb_file".'\" border=0 align=left></a></td><td width=50% valign=top><a href='.$list[$i][href].'><img src=\"'."$dest_file".'\" width=\"150\" height=\"100\" border=0 align=right></td></tr></table></td></tr><tr><td><table border=0 width=100% cellpadding=0 cellspacing=0><tr><td width=100% height=5></td> </tr><tr><td width=100% align=left>'.$list[$i][wr_subject].' ('.$list[$i][datetime].')</td></tr><tr><td width=100% height=5></td></tr></table></td></tr></table>';

$java_script .= "roll_text_s[$i]='$ooo'\n";
}
echo $java_script;
?>
select a.*, b.bo_subject, c.gr_subject, c.gr_id from g4_board_new a, g4_board b, g4_group c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' and b.gr_id = 'gallery' and a.wr_id = a.wr_parent order by a.bn_id desc limit rand()

1064 : 'SQL 구문에 오류가 있습니다.' 에러 같읍니다. ('rand()' 명령어 라인 4)

error file : /index.php

이렇게 출력이 되는데 ㅠ.ㅠ
어제 저녁에 올렸던 코멘트 삭제후 다시 올린 내용입니다.

라이브러리 파일 업데이트 되었습니다.
류재민님께서 말씀하신 대로 첫번째파일과 두번째 첨부파일을 모두 불러옵니다.
두번째 파일이 오른쪽에 보여집니다.

<?
if (!defined('_GNUBOARD_')) exit;
//new.php 수정, 그룹내 최근게시물+이미지 추출, phosay_group_new 최신글 스킨과 연동 - 플록
//echo group_new("phosay_group_simple", "sample_gal", "rand()", 10, 5, 14);
function group_new($skin_dir="", $gr_id="", $sort="", $rows=12, $mod = 6, $subject_len=14, $options="")
{
global $config;
global $g4;

$sql_common = " from $g4[board_new_table] a, $g4[board_table] b, $g4[group_table] c where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' ";//검색사용 체크된 게시판에서

if ($gr_id)
    $sql_common .= " and b.gr_id = '$gr_id' and a.wr_id = a.wr_parent ";//원글만

//$sql_order = " order by a.bn_id desc ";//내림차순 정렬

//옵션에 따른 정렬방법 - asc, desc, rand()
    if($sort) {
       
        $sql_order = " order by";

        if($sort == "desc")
            $sql_order .= " a.bn_id desc ";//내림차순 정렬

        if($sort == "asc")
            $sql_order .= " a.bn_id asc ";//오름차순 정렬

        if($sort == "rand()")
            $sql_order .= " rand() ";      //랜덤 추출
    }
    else {
        $sql_order = " order by a.bn_id desc ";//내림차순 정렬
    }


$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];

//$rows=12;//목록수, 여기서 저정시 호출문서보다 우선함
/*랜덤등으로 페이징 무의미
$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
*/
$list = array();
$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id
          $sql_common
          $sql_order
          limit $rows ";
$result = sql_query($sql);

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

for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $tmp_write_table = $g4[write_prefix] . $row[bo_table];

    if ($row[wr_id] == $row[wr_parent]) // 원글
    {
        $comment = "";
        $comment_link = "";
        $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
        $list[$i] = $row2;

        $name = get_sideview($row2[mb_id], cut_str($row2[wr_name], $config[cf_cut_name]), $row2[wr_email], $row2[wr_homepage]);
        // 당일인 경우 시간으로 표시함
        $datetime = substr($row2[wr_datetime],0,10);
        $datetime2 = $row2[wr_datetime];
        if ($datetime == $g4[time_ymd])
            $datetime2 = substr($datetime2,11,5);
        else
            $datetime2 = substr($datetime2,5,5);

    }
    else // 코멘트
    {
        $comment = "[코] ";
        $comment_link = "#c_{$row[wr_id]}";
        $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_parent]' ");
        $row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from $tmp_write_table where wr_id = '$row[wr_id]' ");
        $list[$i] = $row2;
        $list[$i][mb_id] = $row3[mb_id];
        $list[$i][wr_name] = $row3[wr_name];
        $list[$i][wr_email] = $row3[wr_email];
        $list[$i][wr_homepage] = $row3[wr_homepage];

        $name = get_sideview($row3[mb_id], cut_str($row3[wr_name], $config[cf_cut_name]), $row3[wr_email], $row3[wr_homepage]);
        // 당일인 경우 시간으로 표시함
        $datetime = substr($row3[wr_datetime],0,10);
        $datetime2 = $row3[wr_datetime];
        if ($datetime == $g4[time_ymd])
            $datetime2 = substr($datetime2,11,5);
        else
            $datetime2 = substr($datetime2,5,5);
    }

//파일1
    $sql_file = " select * from $g4[board_file_table] where bo_table = '$row[bo_table]' and wr_id = '$row2[wr_id]' order by bf_no limit 0, 1";

$result_file = sql_query($sql_file);
    $row_file = sql_fetch_array($result_file);

//파일2
//if ($bf_no==1){
$sql_file1 = " select * from $g4[board_file_table] where bo_table = '$row[bo_table]' and wr_id = '$row2[wr_id]' order by bf_no limit 1, 1";

$result_file1 = sql_query($sql_file1);
    $row_file1 = sql_fetch_array($result_file1);
//}

    $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);

    $list[$i][gr_id] = $row[gr_id];
    $list[$i][bo_table] = $row[bo_table];
    $list[$i][name] = $name;
    $list[$i][comment] = $comment;
    $list[$i][href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]{$comment_link}";
    $list[$i][datetime] = $datetime;
    $list[$i][datetime2] = $datetime2;
    $list[$i][icon_new] = $datetime >= date("Y-m-d H:i:s", $g4['server_time'] - (48 * 3600));//new

    $list[$i][gr_subject] = $row[gr_subject];
    $list[$i][bo_subject] = $row[bo_subject];
    $list[$i][wr_subject] = $row2[wr_subject];
//test line 본문내용까지 끌어옴
    $list[$i][wr_content] = $row2[wr_content];
//
    $list[$i][wr_hit] = $row2[wr_hit];
    //분류
    $list[$i][ca_name] = $row2[ca_name];
    $list[$i][ca_name_href] = "$g4[bbs_path]/board.php?bo_table=$row[bo_table]&sca={$list[$i][ca_name]}";//&wr_id=$row2[wr_id]
    //파일1
    $list[$i][bf_file] = $row_file['bf_file'];
    $list[$i][bf_no] = $row_file['bf_no'];//test
    $list[$i][bf_source] = $row_file['bf_source'];
    //파일2
    $list[$i][bf_file1] = $row_file1['bf_file'];
    $list[$i][bf_no1] = $row_file1['bf_no'];//test
    $list[$i][bf_source1] = $row_file1['bf_source'];

}

//$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "?gr_id=$gr_id&view=$view&page=");

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

?>


latest.skin.php 수정부분입니다.
<?
$java_script = "";
for ($i=0; $i<count($list); $i++) {
$image = urlencode($list[$i][file][0][file]); // 첫번째 파일이 이미지
$image2 = urlencode($list[$i][file][1][file]); // 두번째 파일이 이미지
$data_path = $g4['path'] . "/data/file/{$list[$i][bo_table]}";//라이브러리 파일 참조
$thumb_path = $data_path . '/thumb';
    $filename = $list[$i]['bf_file'];
//$filename = ($bf_no==0)?"{$list[$i]['bf_file']}":"{$list[$i]['bf_file1']}";//3항 연산자
$filename1 = $list[$i]['bf_file1'];//test
$dest_file = $data_path .'/'. $filename;
$dest_file1 = $data_path .'/'. $filename1;
    $dest_thumb_file = $thumb_path .'/'. $filename;
    $dest_thumb_file1 = $thumb_path .'/'. $filename1;
$ooo='<table width=300 cellpadding=0 cellspacing=0 border=0><tr><td width=100%><table width=100%  cellpadding=0 cellspacing=0 border=0><tr><td width=50%  align=left valign=bottom><a href='.$list[$i][href].'><img src=\"'."$dest_thumb_file".'\" border=0 align=left></a></td><td width=50% valign=top><a href='.$list[$i][href].'><img src=\"'."$dest_file1".'\" width=\"160\" height=\"100\" border=0 align=right></td></tr></table></td></tr><tr><td><table border=0 width=100% cellpadding=0 cellspacing=0><tr><td width=100% height=5></td> </tr><tr><td width=100% align=left>'.$list[$i][wr_subject].' ('.$list[$i][datetime].')</td></tr><tr><td width=100% height=5></td></tr></table></td></tr></table>';

$java_script .= "roll_text_s[$i]='$ooo'\n";
}
echo $java_script;
?>
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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