테스트 사이트 - 개발 중인 베타 버전입니다

최신글 latest를 css만 바꿔서 notice로 따로 쓰려고 하는데 에러가 나오네요

열정성실맨 10년 전 조회 4,487

그누보드를 이용해서 홈페이지를 만들고 있는 초보프로그래머 입니다.

제가 최신글 latest 를 css만 변경해서 사용하려고 하는데요. 그래서 latest를 notice로 바꾸려고 합니다.

latest 부분을 notice 로 바꾸기만 하면 될 줄 알았는데 안되네요.ㅠㅠ

제가 어떻게 

그누보드 lib폴더에 있는 latest.lib.php를 똑같이 복사해서 latest​부분을 전부 notice로 바꾸고 notice.lib.php로  만들고 

skin폴더에 있는 latest폴더 역쉬 똑같이 복사해서 notice폴더로 바꾸고 안에 있는 latest.skin.php 를 똑같이 복사해서 latest​부분을 전부 notice로 바꾸고

 

notice.skin.php 로 바꿔서 <?php echo notice("basic", menu05_01, 5, 40); ?>​ 이렇게 사용하려고 하는데요. 이런 에러가 뜨네요.

Fatal error: Call to undefined function notice() inC:\APM_Setup\htdocs\clien\index.php on line 26

제가 무언가 실수를 한거 같은데 혹시 아시는 분들 있으시면 답변주시면 감사하겠습니다.

밑에 제가 바꾼 notice.lib.php​와 notice.skin.php 를 올립니다.

notice.lib.php

</span></p><p><span style="font-size: 11pt; line-height: 1.5;"></span><?php</p><p>if (!defined('_GNUBOARD_')) exit;</p><p> </p><p>// 최신글 추출</p><p>// $cache_time 캐시 갱신시간</p><p>function notice($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=1, $options='')</p><p>{</p><p>    global $g5;</p><p>    //static $css = array();</p><p> </p><p>    if (!$skin_dir) $skin_dir = 'basic';</p><p> </p><p>    if(G5_IS_MOBILE) {</p><p>        $notice_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/notice/'.$skin_dir;</p><p>        $notice_skin_url  = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/notice/'.$skin_dir;</p><p>    } else {</p><p>        $notice_skin_path = G5_SKIN_PATH.'/notice/'.$skin_dir;</p><p>        $notice_skin_url  = G5_SKIN_URL.'/notice/'.$skin_dir;</p><p>    }</p><p> </p><p>    $cache_fwrite = false;</p><p>    if(G5_USE_CACHE) {</p><p>        $cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}.php";</p><p> </p><p>        if(!file_exists($cache_file)) {</p><p>            $cache_fwrite = true;</p><p>        } else {</p><p>            if($cache_time > 0) {</p><p>                $filetime = filemtime($cache_file);</p><p>                if($filetime && $filetime < (G5_SERVER_TIME - 3600 * $cache_time)) {</p><p>                    @unlink($cache_file);</p><p>                    $cache_fwrite = true;</p><p>                }</p><p>            }</p><p> </p><p>            if(!$cache_fwrite)</p><p>                include($cache_file);</p><p>        }</p><p>    }</p><p> </p><p>    if(!G5_USE_CACHE || $cache_fwrite) {</p><p>        $list = array();</p><p> </p><p>        $sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";</p><p>        $board = sql_fetch($sql);</p><p>        $bo_subject = get_text($board['bo_subject']);</p><p> </p><p>        $tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름</p><p>        $sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";</p><p>        $result = sql_query($sql);</p><p>        for ($i=0; $row = sql_fetch_array($result); $i++) {</p><p>            $list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);</p><p>        }</p><p> </p><p>        if($cache_fwrite) {</p><p>            $handle = fopen($cache_file, 'w');</p><p>            $cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject='".$bo_subject."';\n\$list=".var_export($list, true)."?>";</p><p>            fwrite($handle, $cache_content);</p><p>            fclose($handle);</p><p>        }</p><p>    }</p><p> </p><p>    /*</p><p>    // 같은 스킨은 .css 를 한번만 호출한다.</p><p>    if (!in_array($skin_dir, $css) && is_file($latest_skin_path.'/style.css')) {</p><p>        echo '<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">';</p><p>        $css[] = $skin_dir;</p><p>    }</p><p>    */</p><p> </p><p>    ob_start();</p><p>    include $notice_skin_path.'/notice.skin.php';</p><p>    $content = ob_get_contents();</p><p>    ob_end_clean();</p><p> </p><p>    return $content;</p><p>}</p><p>?></p><p><span style="font-size: 11pt; line-height: 1.5;">

notice.skin.php

</span></p><p><span style="font-size: 11pt; line-height: 1.5;"></span><?php</p><p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p><p> </p><p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p><p>add_stylesheet('<link rel="stylesheet" href="'.$notice_skin_url.'/style.css">', 0);</p><p>?></p><p> </p><p><!-- <?php echo $bo_subject; ?> 최신글 시작 { --></p><p><div class="lt"></p><p>    <strong class="lt_title"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>"><?php echo $bo_subject; ?></a></strong></p><p>    <ul></p><p>    <?php for ($i=0; $i<count($list); $i++) {  ?></p><p>        <li></p><p>            <?php</p><p>            //echo $list[$i]['icon_reply']." ";</p><p>            echo "<a href=\"".$list[$i]['href']."\">";</p><p>            if ($list[$i]['is_notice'])</p><p>                echo "<strong>".$list[$i]['subject']."</strong>";</p><p>            else</p><p>                echo $list[$i]['subject'];</p><p> </p><p>            if ($list[$i]['comment_cnt'])</p><p>                echo $list[$i]['comment_cnt'];</p><p> </p><p>            echo "</a>";</p><p> </p><p>            // if ($list[$i]['link']['count']) { echo "[{$list[$i]['link']['count']}]"; }</p><p>            // if ($list[$i]['file']['count']) { echo "<{$list[$i]['file']['count']}>"; }</p><p> </p><p>            if (isset($list[$i]['icon_new'])) echo " " . $list[$i]['icon_new'];</p><p>            if (isset($list[$i]['icon_hot'])) echo " " . $list[$i]['icon_hot'];</p><p>            if (isset($list[$i]['icon_file'])) echo " " . $list[$i]['icon_file'];</p><p>            if (isset($list[$i]['icon_link'])) echo " " . $list[$i]['icon_link'];</p><p>            if (isset($list[$i]['icon_secret'])) echo " " . $list[$i]['icon_secret'];</p><p>             ?></p><p>        </li></p><p>    <?php }  ?></p><p>    <?php if (count($list) == 0) { //게시물이 없을 때  ?></p><p>    <li>게시물이 없습니다.</li></p><p>    <?php }  ?></p><p>    </ul></p><p>    <div class="lt_more"><a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $bo_table ?>"><span class="sound_only"><?php echo $bo_subject ?></span>더보기</a></div></p><p></div></p><p><!-- } <?php echo $bo_subject; ?> 최신글 끝 --><span style="font-size: 11pt; line-height: 1.5;"> </span></p><p><span style="font-size: 11pt; line-height: 1.5;">

 

 

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

답변 4개

10년 전

첫번째로 lib 폴더에 복사한 notice.lib.php 파일이 있어야 하고

두번째로는 skin/notice 폴더가 있어야 하며

세번째로는 skin/notice/basic 폴더가 있어야 하며

네번째로는 skin/notice/basic 폴더내에 notice.skin.php 이 있어야 합니다.

끝으로 <?php echo notice("basic", 게시판명, 5, 40); ?>를 출력을 원하시는 위치에 추가 해 주면 됩니다.

 

 

 

로그인 후 평가할 수 있습니다

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

f
10년 전
그런 방식은 저도 쩔쩔 맬 것 같네요.<br />
<br />
latest/basic 폴더를 복사해서... 이름을 가령 &#039;basic_notice&#039;로 바꿉니다.<br />
그리고 폴더 내의 &#039;style.css&#039; 파일의 내용을 원하는대로 수정합니다.
로그인 후 평가할 수 있습니다

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

10년 전

head.php 파일 상단에 보면

 

include_once(G5_LIB_PATH.'/latest.lib.php'); 

 

처럼 해당 라이브러리가 인클루드 되어 있습니다. 

이것처럼 notice.lib.php 를 인클루드 시키셔야 합니다. 

 

로그인 후 평가할 수 있습니다

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

10년 전

'is_notice' 어디서 설정하셨나요? 찾아보심이... 다 바꾸신게 아닌듯한데... 

로그인 후 평가할 수 있습니다

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

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

로그인