텍스트큐브 1.8에서 밥먹자님의 '카테고리의 다른 글' 플러그인 쓰기

  밥먹자님의 '카테고리의 다른 글 출력 플러그인(추가 기능)'은 텍스트큐브 1.8에서 잘 작동하지 않는다. 1.8대로 판올림한 텍스트큐브의 플러그인 문법이 바뀌면서 DB를 이용하는 플러그인 가운데 잘 작동하지 않는 게 생겼다. 밥먹자님의 플러그인도 1.8에서 목록이 출력되지 않는데, 1.8.3.1에서는 플러그인을 그대로 쓰면 블로그가 먹통이 된다. 비슷한 기능을 하는 플러그인들 가운데 티스토리처럼 현재 글의 앞뒤 목록을 보여 주는 것은 밥먹자님이 만든 것이 유일해서, 이 플러그인이 작동하지 않는 것이 텍스트큐브 1.8로 넘어가는 걸림돌이었다.

  요사이 블로그 활동이 뜨음하신 듯한 밥먹자님이 언제 수정해 주실까 고대하다가, 다행히 '플러그인 개발자를 위한 텍스트큐브 1.8 안내'를 보고 해결할 길을 찾았다.

  데이터베이스로의 접근을 위하여 텍스트큐브 1.7까지 사용하던 DBQuery 클래스는 1.8부터 더이상 사용되지 않습니다. 1.7부터 도입된 POD 클래스를 대신 사용하면 거의 같은 동작을 얻을 수 있습니다. 텍스트큐브 1.8은 POD 아답터를 바탕으로 새로 도입되는 DBModel 을 사용하여 데이터 동작 및 모델을 구성합니다.

  만약 DBQuery 클래스를 이용하여 데이터베이스에 직접 쿼리를 날리는 방식으로 플러그인이 작성되어 있다면, DBQuery 를 POD로 바꾸는 것으로 사용이 가능합니다. 하지만 POD를 사용하여 데이터베이스에 직접 접근하는 경우, 서로 다른 문법을 사용하는 다양한 데이터베이스 (MySQL/MySQLi/PostgreSQL/Cubrid) 지원에 문제가 있을 수 있습니다.


...

Step 2. 데이터베이스를 사용하는 플러그인

정상적인 텍스트큐브 1.7 플러그인인 경우, 데이터베이스 접근을 위해서 사용하는 객체가 DBQuery 또는 TableQuery 일 것입니다.
  • DBQuery 의 경우 : POD로 바꿉니다. 그냥 DBQuery를 POD로 모두 바꾸면 됩니다.
  • TableQuery의 경우 : 위의 설명을 보고 해당 부분을 DBModel로 재작성합니다. DBModel 의 설계는 TableQuery에 기반하고 있으므로, 변환은 의외로 쉽습니다.

  DB로 접근할 때 쓰던 DBQuery 클래스의 기능은 1.8부터는 POD 클래스로 바꾸어야 쓸 수 있다고 하였다. index.php를 열어서 'DBQuery'를 모두 'POD'로 바꾸면 글 목록이 잘 나온다.

글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요

  1. dedo 2010/05/17 04:57 고유주소 고치기 답하기

    dedo@xtime.kr

    초보왈입니다. 텍스트큐브1.7.8 그대로 쓰야만 하는 형편의 사람입니다.
    조금 아쉬운게 '카테고리 다른 글' 목록모두 점선밑줄이 쳐져있는걸 없앨려면 어찌하오리까?
    목록들 왼쪽은 띄워놓고 날짜는 우측에 쳐박혀 꼴불견인데
    날짜를 우측에서 좀 좌측으로 띄울려면 어찌하오리까? ^^

    • 팥빙산 2010/05/17 23:10 고유주소 고치기 답하기

      플러그인이 출력되는 모습은 스타일시트(css)에 따라 달라집니다.
      '카테고리의 다른 글 출력 플러그인'은 자체에 style.css 파일이 있으므로 이 파일을 고치면 외관을 바꿀 수 있습니다.
      혹시 다중 블로그를 운영한다면 플러그인의 style.css보다 블로그 스킨의 style.css로 조절하는 쪽이 편할 수도 있습니다.

      가령 날짜가 오른쪽으로 붙는 건
      .view_posts li .date {float:right;}
      때문인데 right를 left로 바꾸면 날짜가 왼쪽으로 붙게 됩니다.

      그런데 다른 css 내용과 얽혀서 전혀 예상치 못한 모습으로 나오기도 합니다. 여러 웹브라우저에서 같은 결과가 나오는지도 점검해 보아야 하므로, 딱히 어떻게 해야 한다고 집어서 말씀드리기는 어렵습니다.

  2. 치프 2011/03/27 16:21 고유주소 고치기 답하기

    안녕하세요~
    텍스트큐브 팁 글이 많아서 정말 좋네요!!
    이글을 읽고 덕분에 다시 플러그인을 사용할수 있게 되었습니다.
    감사합니다.

  3. 비밀방문자 2013/11/19 13:55 고유주소 고치기 답하기

    관리자만 볼 수 있는 덧글입니다.

    • 팥알 2013/11/21 21:38 고유주소 고치기 답하기

      뒤늦게 답글을 달아 죄송합니다.

      첫째로 플러그인은 깔린 경로 차례로 실행됩니다. plugins 안에 자료방(디렉트로) 이름이 a로 시작하는 것이 b로 시작하는 것보다 먼저 실행되는 식입니다. 또 블로그 스킨에 치환자로 들어가는 플러그인 출력문은 본문 아래에 덧붙어 들어가는 플러그인 출력문보다 언제나 위에 있을 수밖에 없습니다.
      그런 점 때문에 이 블로그에서 '카테고리의 다른 글' 플러그인은 본문 아래에 들어가게 되어 있었지만, 치환자로 들어가도록 플러그인과 블로그 스킨을 고쳤습니다. 'SNS에 글 보내는 단추달기'도 치환자로 넣고 있습니다.

      두째로 제 블러그의 모바일 출력 쪽은 php를 고쳤습니다. 마음에 들지 않게 나오는 오류를 막으려고 loading 같은 것이 뜨는 움직이는 화면 효과 기능을 껐습니다. 그래서 부작용은 없앴지만, 텍스트큐브 개발자님의 뜻과는 맞지 않을 겁니다.^^ 베타판이니 아직 더 고칠 점이 남아 있을 수 있는데, 빨리 정식판이 나오기를 기다릴 뿐입니다.

      저도 고쳐 쓰던 밥먹자님의 플러그인을 배포하면 다른 분들께 도움이 되겠다고 생각은 했고, 이제 다시 배포용으로 낼 수 있게 손을 대 보겠습니다. 배포하려면 임기응변식으로 마구 고쳐 쓰는 것을 누구나 쓰기 좋게 만드는 마무리 작업을 해야 해서 뒤로 미루고 있었습니다. 똑같은 HTML 문서도 CSS로 꾸미기에 따라 꽤 달라 보일 수 있고, IE와 불여우 같은 웹 누비개들의 종류와 판번호에 따라 보이는 모습이 다르기도 합니다. 여러 환경에서 고르게 보이게 하려면 배포하는 플러그인은 블로그 하나에 세세하게 맞출 때보다는 투박하게 만들어야 보수 작업도 편합니다. 이런 점들 때문에 배포까지는 시간이 좀 걸릴 것 같습니다.

    • 홀맨 2013/11/22 23:42 고유주소 고치기 답하기

      플러그인이 설마하니 경로명 순서로 출력이 될지는 몰랐습니다. 말씀을 듣고 디렉토리명 변경으로 어설프게 해결(타협)을 보았습니다. 별다른 재주가 없다보니 일단은 이정도로 만족해야 할 듯 합니다. 감사 드립니다 ^^

      말씀하신 플러그인 배포는 팥알님의 꼼꼼하신 성격을 옅볼수 있는 부분이라 생각하고 있습니다 ^^; 잠깐의 빠름과 편의를 위함 보다는 아무래도 장긱적인 부분이나 표준화 적인 면을 생각하지 않을수 없다는데 적극 동의합니다. 배포의 그때까지 한사람의 유저로써 응원하며 기다리겠습니다.

    • 팥알 2013/11/23 18:54 고유주소 고치기 답하기

      실은 제가 덜렁대며 모험을 할 때마다 블로그가 마비되는 일을 종종 겪습니다. 처음에는 겁없이 만든 플러그인을 배포했다가 웹 표준 쪽에서 어긋나는 것으로 무식을 자랑한 꼴이 되기도 했습니다. 그래도 아예 새로 만들 때는 시험판으로 시작해서 고쳐 간다고 생각하면 마음이 편한데, 이미 다른 분들이 잘 만든 것을 고쳐 내놓을 때는 제가 손댄 곳이 부작용을 일으킬 때마다 가슴이 철렁하기도 합니다.

      그런 경험 때문에 갈수록 조심스러워지지만, 그 덕에 여러 가지를 배울 수 있어서 보람은 있습니다.^^