안녕하세요,
KBOARDBuilder.class.php에서, 원래의 getList 함수를 수정하여, 글을 읽을 때 아래에 표출되는 리스트의 pageid를 제가 원하는 대로 정의하고 싶습니다.
이를 위해서 현재 아래와 같이 코드를 수정했는데요 (리스트를 항상 보이게 할 경우 아래 함수가 호출됨)
아래 함수 중 주석처리된 부분이 ($totalnum = $board->getListTotal(); 줄부터 $list->page="newpageid";까지) 핵심 내용입니다만, 현재로서는 계속 오류가 발생합니다.
php 문법에 익숙하지 않아서 아래 내용 중 어떤 것이 잘못되었는지 알려주실 수 있을까요?
참고로 목적 자체는 해당 게시판의 게시글 수와 해당 게시글의 번호를 확인, 글 아래 표출되는 list의 pageid를 정의하기 위한 것입니다 (과거에 pageid가 1이었는데 이후 2, 3, 4 등으로 계속 변하는데, 옛날에 뿌린 링크는 여전히 1로 동작하는 것을 피하기 위함입니다)
public function getList_always_on(){
$list = new KBContentList($this->board_id);
$list->category1($this->category1);
$list->category2($this->category2);
if($this->board->isPrivate()){
if(is_user_logged_in()){
$list->memberUID(get_current_user_id());
}
else{
$list->stop = true;
}
}
$list->rpp($this->rpp);
$list->page(kboard_pageid());
$list->setCompare(kboard_compare());
$list->setDateRange(kboard_start_date(), kboard_end_date());
$list->setSearchOption(kboard_search_option());
$list->getList(kboard_keyword(), kboard_target(), kboard_with_notice());
static $totalnum;
static $listnum;
static $ordernum;
static $newpageid;
/**
$totalnum = $board->getListTotal();
$listnum = $list->index();
$listperpage = 40;
$ordernum = $totalnum - $listnum +1;
$newpageid=($ordernum - ($ordernum % $listperpage)) / $listperpage;
return apply_filters('kboard_pageid', $newpageid);
$list->page="newpageid";
*/
return $list;
echo "<script>alert('안녕하세요');</script>";
}
안녕하세요~^^
프로그램 코드를 올려야 할 경우 반드시 에디터의 코드 스니펫 삽입 기능을 사용해주세요.
KBoard 플러그인에서 pageid는 페이징 처리 시 사용됩니다.
올려주신 내용만으로는 어떤 것을 하고 싶으신 건지 이해가 잘 가지 않습니다.
좀 더 구체적인 내용을 설명해주시겠어요?
고맙습니다.
네, 페이징 처리를 위한 건데요
예를 들어 pageid가 1로 설정된 URL을 저희가 홍보했다고 하면,
이후 글이 늘어남에 따라 pageid는 점차 2, 3 등으로 늘테지만
기 홍보한 URL은 변하지 않으니, 해당 글에 들어가면 uid를 통해 글은 제대로 열리지만 아래에 '항상 노출되는 게시판'의 pageid는 영원히 1로 남게 됩니다.
그래서 만약 해당 글의 현재 pageid가 3으로 늘어난 상태라고 하면,
이를 계산하여 pageid 변수를 수정하고, 글 아래 나타나는 게시판이 3페이지가 나타나도록 하고 싶은 것입니다.
40은 게시판 한 페이지에 보이는 개수를 의미합니다.
안녕하세요.
말씀하신 게 가능할지는 저희도 연구를 해봐야 할 듯합니다.
추후 좋은 방법을 찾게 되면 다시 안내해드리겠습니다.
고맙습니다.