2011-03-03 6 views
0

이제 노드 제목 목록을 가져 와서 용어 페이지에 표시하고 싶습니다. 내가 id라는 용어를 안다면. 이 용어 ID로 노드 제목을 얻을 수있는 방법은 무엇입니까? 고맙습니다. 예 : 용어 ID는 2 드루팔 버전은drupal에서 쿼리 코드를 사용하는 방법은 무엇입니까?

$query = "SELECT n.nid, n.title FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid = arg(2)"; 

하지만 난 그것과 목록의 출력을 호출기 방법을 모른다, 6 이 쿼리입니다입니까?

+0

용어 페이지는 무엇입니까? – Nikit

+0

분류/용어/2 페이지. – runeveryday

+1

어디에서 실행하려고합니까? 맞춤 모듈에서? 테마 재정의? 사용자 정의 tpl 파일? – Laxman13

답변

1

더 간단한 방법은 블록 또는 페이지 (분류 용어 페이지를 대체 할 수 있음)로보기입니다. 코드를 원한다면 다음과 같이 작동해야합니다.

<?php 
$items = array(); 
$result = pager_query("SELECT n.nid, n.title FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid = %d", arg(2), 0, 10); 
while ($row = db_fetch_object($result)) { 
    $items[] = l($row->title, 'node/' . $row->nid); 
} 

print theme('item_list', $items, t('Nodes in this category')); 
print theme('pager'); 
0
$query = "SELECT n.nid, n.title FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid = %d"; 
$results = db_query($query,arg(2)); 

// define table headers(th) 
$header = array(
     array('data' => t('Node NID')), 
     array('data' => t('Node Title')), 
    ); 

//define rows in table 
while($row = db_fetch_array($res)){ 
    $rows[] = array ($row[nid],$row[title]); 
} 

//leave the theming to hands of Drupal 
echo theme('table',$header,$rows); 
+0

많은 감사. 알았다 – runeveryday

관련 문제