Active Tags 모듈의 작은 버그, 그리고 커스터마이징

* 이 글은 쓰는 시점이 2009년 3월이니 아마도 이후의 신 버전의 Active Tags 모듈은 아래 문제가 해결돼 있을 것이다.

[현상]
Active Tags 모듈 - http://drupal.org/project/active_tags
을 설치/활성화한 후에 특정 Vocabulary (예: 동물 종류) 를 편집,
Tags, Active Tags, Active Tags Helper 를 모두 체크했다.
그리고 특정 컨텐츠 타입 (예: 동물) 에 대해서 동물 종류라는 Vocabulary를 체크해 주었다.
원래대로라면 동물 컨텐츠 타입을 새로 입력할 때에,
동물 종류에 대한 Active Tags Helper 항목이 보일 터인데 어라?!
식물 종류에 대한 엉뚱한 Active Tags Helper 항목이 보였다.

[원인]
소스 버그이다. 특히 JavaScript 부분의 Vocabulary ID (vid) 처리에 문제가 있었다.
아래 주소에서 자세한 논의가 있었다.
http://drupal.org/node/321069

[해결]
위 주소의 해결책대로 해 보려고 했으나 이미 반영돼 있었다. 1.3 버전.
이상하다 생각해서 살펴보니, active_tags.js 파일 뿐 아니라
active_tags_popular.js 소스에도 해당 문제 구문이 있는게 아닌가.

아래와 같이 수정했다.
active_tags_popular.js 파일의 약 12라인 근처 function activetags_popular_activate(context) 함수 내.

기존)
var vid = context.substr(20,1);

신규)
var vid = context.substring(20,context.lastIndexOf('-'));

이렇게 함으로써 엉뚱한 Vocabulary 를 참고하는 버그를 해소한다.

[재발방지]
이 문제는 버전 업 되면서 저절로 해소될 것이다.

[기타]
* 배경이 어두운 테마의 경우, Active Tags 항목이 잘 보이지 않을 것이다.
active_tags.css 의 .tag-tag 클래스와 .tag-popular 클래스의
background-color 를 조정하면 된다.