kboard에서 최신글 보기 수정하기

프로그래밍2018. 11. 1. 17:11



케이보드와 망보드.. 어떤 것을 사용할까 고민하다가.. 케이보드가 좀 더 나은 것 같아서 케이보드로 홈페이지를 꾸미고 있다. 홈 화면에서 특정 게시판의 최근 글들을 보여주는 케이보드의 shortcode를 사용 중인데 특이하게도.. 게시판 제목이 나오지 않아서 내가.. 임의로 게시판의 제목 나오는 부분을 만들었고.. 해당 게시판으로 링크도 걸었다.(위 그림에서 1번째 줄)


그리고 또 마음에 안드는 점은.. 왜 이 shortcode에서 제목과 작성일란(위 그림에서 2번째 줄)이 있냐는 것이다.

이 것을 삭제하는 방법을 기록하고자 한다.


일단..


해당 쇼트코드를 등록하는 코드는.. 케이보드 소스의 루트에 있는 index.php에 있다.


1
2
3
4
5
6
7
8
9
/*
 * 최신글 생성 숏코드
 */
add_shortcode('kboard_latest', 'kboard_latest_shortcode');
function kboard_latest_shortcode($args){
...생략...
$latest = $board_builder->createLatest($with_notice, $args);
...생략...
}
cs


쇼트코드 [kboard_latest]가 사용되면 kboard_latest_shortcode라는 함수를 호출하라는 것이다.

kboard_latest_shortcode에서 핵심 부분은.. createLatest()함수를 부르는 부분이다. 이 함수는..


/class/KBoardBuilder.class.php에 있는 createLatest()함수를 부르게 된다.

1
2
3
4
5
6
7
8
9
10
11
    /**
     * 최신 게시물 리스트를 생성한다.
     * @param boolean $with_notice
     * @param array $args
     * @return string
     */
    public function createLatest($with_notice=true, $args=array()){
...생략...
        echo $this->skin->load($this->skin_name, 'latest.php', $vars);
...생략...
    }
cs


createLatest()함수는 또 다시 latest.php 파일을 읽어오는데 이 파일은 kboard\skin\default\latest.php 경로에 있다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<div id="kboard-default-latest">
    <table>
        <thead>
            <tr>
                <th class="kboard-latest-title"><?php echo __('Title', 'kboard')?></th>
                <th class="kboard-latest-date"><?php echo __('Date', 'kboard')?></th>
            </tr>
        </thead>
        <tbody>
            <?php while($content = $list->hasNext()):?>
            <tr>
                <td class="kboard-latest-title">
                    <a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>">
                        <div class="kboard-default-cut-strings">
                            <?php if($content->isNew()):?><span class="kboard-default-new-notify">N</span><?php endif?>
                            <?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
                            <?php echo $content->title?>
                            <span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
                        </div>
                    </a>
                </td>
                <td class="kboard-latest-date"><?php echo $content->getDate()?></td>
            </tr>
            <?php endwhile?>
        </tbody>
    </table>
</div>
cs


위 코드에서 <thead>~</thead>만 제거하면 원하는대로 동작할 것 같다.

다행히 원하는 대로 동작한다~

작성자

Posted by 드리머즈

관련 글

댓글 영역