태터툴즈 패치: 목록 한 쪽당 글 수

2007/01/04 19:17

블로그 판올림 완료라는 글에서 알 수 있듯이 태터툴즈 를 1.1로 판올림하면서 가장 불편했던 점이 목록 한 쪽당 글 수였다. 예전에는 검색 결과 목록이 나타나도 표시되던 글은 '한 쪽당 글 수'에서 설정한 만큼만 출력됐다.

그런데 1.1로 판올림되면서는 '한 쪽당 글 수'와 무관하게 '목록 한 쪽당 글 수' 만큼 블로그의 글이 출력된다. 나는 한 쪽당 글 수를 1로 설정해서 사용하고 있으며, 목록은 10으로 설정해서 사용하고 있다.

다른 페이지는 모두 정상인데 이처럼 목록이 출력되는 페이지는 글의 수가 10개가 출력되며 이 때문에 자동으로 구글 AdSense의 약관을 어기게된다. 아울러 목록의 수가 10개일 때 출력되는 글 역시 10개가 출력되기 때문에 한 페이지의 길이가 너무 길어진다.

inureyes님 답글에서 알 수 있듯이 이 기능은 건의를 받고 이렇게 만든 기능이라고 한다. 따라서 이 문제가 수정될지 어떨지는 아직은 불확실한 것 같다. 결국 '목마른 놈이 우물을 판다'고 이 문제는 직접 패치해서 사용하게 되었다.

참고로 이 패치는 태터툴즈 1.1.1 RC1에서만 정상 동작한다.

  1. 일단 좋아하는 편집기를 이용해서 다음 세 개의 파일을 연다.

    blog/category/index.php 
    blog/search/index.php
    blog/tag/index.php
    
  2. 각 파일을 다음처럼 수정한다.

    **blog/category/index.php(20 행)**
    
    **변경전**: 
    list($entries, $paging) = getEntriesWithPagingByPeriod
        ($owner, $period, $suri['page'], $blog['entriesOnPage']);
    
    **변경후**:
    list($entries, $paging) = getEntriesWithPagingByCategory
        ($owner, $category, $suri['page'], 1);
    

    $blog['entriesOnPage']를 '화면에 출력할 글의 수'로 바꾼다.

    **blog/search/index.php(19행)**
    
    **변경전**: 
    list($entries, $paging) = getEntriesWithPagingBySearch
        ($owner, $search, $suri['page'], $blog['entriesOnPage']);
    
    **변경후**: 
    list($entries, $paging) = getEntriesWithPagingBySearch
        ($owner, $search, $suri['page'], 1);
    
    **blog/tag/index.php(17행)**
    
    **변경전**: 
    list($entries, $paging) = getEntriesWithPagingByTag
        ($owner, $tag, $suri['page'],$blog['entriesOnPage']);
    
    **변경후**: 
    list($entries, $paging) = getEntriesWithPagingByTag
        ($owner, $tag, $suri['page'],1);
    

추가로 '1.1.1 RC1'에서는 태터 패치: TraceWatch 통계 보완도 정상 동작하지 않는다. 이 경우 다음처럼 패치하면 된다.

  1. blog/index.php 파일을 좋아하는 편집기로 연다.
  2. 파일의 끝 부분('63~66행')을 다음처럼 바꾼다.

    **변경전**:
    require ROOT . '/lib/piece/blog/begin.php';
    require ROOT . '/lib/piece/blog/entries.php';
    require ROOT . '/lib/piece/blog/end.php';
    
    **변경후**:
    header("Location: https://offree.net/".불entries[0]['id']);
    //require ROOT . '/lib/piece/blog/begin.php';
    //require ROOT . '/lib/piece/blog/entries.php';
    //require ROOT . '/lib/piece/blog/end.php';
    

1.1.1 RC2에서는 OBStartOBEnd라는 이벤트 핸들러로 문서의 시작과 끝을 제어할 수 있다고 한다. 따라서 1.1.1 RC2에서는 문서를 압축해서 전송하기 위해 더 이상 많은 파일을 패치할 필요가 없다.

관련 글타래

Tags

Patch, Tattertools, 컴퓨터, 태터툴즈, 패치