제목 : 드루팔에서 BLOG를 카테고리화 하는 방법
2. 위 태그 모음을 저장한 후, "태그 더하기" 항목에서
원하는 블로그 카테고리를 태그로 계속 추가합니다.
예) 태그 추가하기 : 신변잡기, 웹서핑, 공부
3. 블로그를 하나 써 보시면, 카테고리를 선택하는 메뉴가 보일 겁니다.
4. Views 모듈을 이용해서, 카테고리와 그 링크를 출력합니다. --- 수정 : 이 방법은 실패.
4. Taxonomy Block / Advanced Taxonomy Block 에 관한 글이 팔팔.오알지에 있습니다 - 추천하는 방법.
4. PHP Snippet(가벼운 코드/팁들)을 하나 이용해서, 카테고리와 그 링크를 출력합니다. 이것도 잘 작동하는 방법입니다.
4번 항목은 좀 더 자세한 설명이 필요한데, 아래를 참고해 주세요.
* 내용이 잘못 돼서 수정합니다. 죄송합니다.
Views 모듈을 이용해서, 카테고리와 그 링크를 출력하기.
1. 관리 > 사이트 구성 > Views 로 가서 Add 메뉴를 누르세요.
2. 이름 항목에 적절한 명칭을 넣으세요.
예를 들어 "blog_category_view"라고.
주의) 영문자와 언더바 이외에는 허용되지 않습니다.
3. "블록" 항목을 펼쳐서, "Provide Block"을 체크하세요.
뷰 타입은 "List View"가 블로그 카테고리 표시에 적절할 듯.
Nodes per Block: 항목에도 카테고리 표시 갯수를 입력.
4. "블록"의 "Fields" 세부항목을 펼쳐서,
Add Field의 "Taxonomy : Terms for 블로그 카테고리"를 선택하시고, 우측의 Add Field 버튼을 누르세요.
참고로 "블로그 카테고리"는 아까 위 단계에서 미리 만들어 둔 것이죠.
5. 맨 아래 "Save" 버튼을 눌러 새로 만든 "blog_category_view"를 저장합니다.
6. 관리 > 사이트 구성 > 블록에 가서,
위에서 추가한, "blog_category_view" 블럭을 적절한 위치에 추가하시면 끝! 테스트 해 보세요.
주의할 점은, $vocabulary_id 에 입력될 번호를 잘 확인해서 넣어야 합니다.
그 번호를 확인하려면,
관리 > 컨텐츠 관리 > 카테고리 항목을 열어서,
아까 만들어 둔 "블로그 카테고리"의 "태그 모음 고치기" 링크 위에서, taxonomy/edit/vocabulary/5 와 같은 형태의 URL을 확인하세요. 그때 제일 뒤에 있는 숫자(예:5)가 $vocabulary_id 입니다.
참고 : http://drupal.org/node/34256
* 드루팔은 시간을 들여서 찾거나 커스터마이징 하면 못하는 게 거의 없더군요. 여러 프로젝트를 하면서 그 점이 참 좋았습니다.
위 모듈을 설치/활성한 후,
관리 > 모듈별 설정 > Taxonomy Menu settings 에 가서,
아까 미리 만들어 준, "블로그 카테고리"를 체크(이미 체크돼 있다면, 다른 Taxonomy들을 체크 해제)하면, 네비게이션 메뉴에 "블로그 카테고리"가 표시되기 시작합니다.
본 팁의 PHP Snippet을 블럭에 적용하는 경우도 있지만,
컨텐츠의 본문 하단에 적용하면 더 많은 PV를 유도할 수 있다.
이때 Contemplate 모듈을 이용한 편집이 유용하다. 아래 관련글을 참고하기 바란다.
위 Snippet과 비슷하기는 한데... 한 카테고리 내에서 시간순으로 게시물들을 표현하는 예제이다.
<?php print $body ?>
<?php
$strTermsID = "";
if ( $node->taxonomy == null || !is_array($node->taxonomy) ) return; // Do Nothing
/* extracting the keys from the array */
foreach( array_keys($node->taxonomy) as $keys )
{
$strTermsID .= $keys.",";
}
// comma separated lists of terms tid to display nodes
$terms = substr( $strTermsID, 0, -1); // trim the last comma.
if ( trim($terms) == "" ) return; // exception
// the number of nodes to show
$count = 10;
// $sql = "SELECT n.title, n.nid FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid in ($terms) AND n.status=1 ORDER BY n.created DESC"; // latest
$sql = "SELECT DISTINCT n.title, n.nid FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid in (".$terms.") AND n.status=1 AND n.created<".($node->created)." ORDER BY n.created DESC"; // previous articles from this nid
$result = db_query_range(db_rewrite_sql($sql), 0, $count);
if ($result) {
echo "<hr />";
echo t('[Articles List]');
echo "<br />";
echo node_title_list($result);
echo "<hr />";
}
else {
echo t('No nodes available.');
}
?>아래 PHP Snippet도 참고하고 바란다. 유용할 듯.
Show block on specific pages via PHP Snippet
http://drupal.org/node/259832
Thank you for this review! For all interested in this topic I suggest using special http://www.pdfqueen.com ebooks search engine with a huge set of thematic books.
도움이 되었습니다.
익명 Posted at 17:39 on 월, 01/14/2008도움이 되었습니다. 글 감사합니다.