2007.09.05.추가 - 텍스트큐브 센터의 '표지' 항목에 글 목록 수를 조절하는 옵션이 있군요.. 0.0
왜 지금껏 보지 못한거지?
텍스트 큐브 1.5에서 표지 기능을 활성화 하면 기본적으로 10개의 글목록이 보여 진다.
이 갯수를 조절하기위해선 약간의 소스 수정이 있어야 한다.
우선, index.xml 의 <coverpage> 항목을 보면
<coverpage title="Recent Posts" handler="MT_Cover_getRecentEntries">
<params>
<param>
<title xml:lang="en">Show recent posts per list</title>
<title xml:lang="ko">출력될 최근 글 수</title>
<name>entryLength</name>
<type>int</type>
<default>10</default>
</param>
</params>
</coverpage>
위와 같이 글목록 출력 갯수를 조절하는 entryLength파라메터에 대해 default로 10개가 정의 되어 있다
그런데 왠일인지 이 값을 수정해도 여전히 글 목록 갯수는 10개만 나온다.
index.php 소스를 보면
18 번째 라인 부근에
$entryLength = isset($parameters['entryLength'])?$parameters['entryLength']:10;
와 같이 index.xml에 기술된 값이 있으면 그걸 쓰고 아니면 디폴트로 10개 가져오기로 정의되어있는데도 작동
을 안하는것이다. 파라메터 전달 과정 중에 약간의 오류가 있나보다.
그래서 최후의 수단으로 $entryLength 변수를 사용 하는곳에 숫자를 바로 고쳐 보기로 했다.
index.php의 48번째 라인 근처를 보면
$entries = DBQuery::queryAll("SELECT e.blogid, e.id, e.userid, e.title, e.content, e.slogan, e.category, e.published, c.label
FROM {$database['prefix']}Entries e
LEFT JOIN {$database['prefix']}Categories c ON e.blogid = c.blogid AND e.category = c.id
WHERE $multiple e.draft = 0 $visibility AND e.category >= 0
ORDER BY published DESC LIMIT $entryLength");
과 같이 쿼리가 정의 되어 있을 것이다.
여기서 $entryLength 를 내가 원하는 숫자로 고쳐썼다. 이렇게..
$entries = DBQuery::queryAll("SELECT e.blogid, e.id, e.userid, e.title, e.content, e.slogan, e.category, e.published, c.label
FROM {$database['prefix']}Entries e
LEFT JOIN {$database['prefix']}Categories c ON e.blogid = c.blogid AND e.category = c.id
WHERE $multiple e.draft = 0 $visibility AND e.category >= 0
ORDER BY published DESC LIMIT 14");
이제 원하는 갯수만큼의 목록이 출력 된다.
이게 플러그인 자체 문제인지 내 쪽 환경 설정에 기인한 문제인지 잘 모르겠다.