2011-08-11 2 views
1

필자는 분명히 일부 요소를 취한 다음 외부 데이터베이스에 대해 select를 실행하는 양식을 가지고 있습니다. 문제없이 데이터를 다시 제시 할 수 있습니다. 내가 문제가되는 것은 호출기가 올바르게 전송되도록하는 것입니다. pager_query()에 대한 초기 요청은 양호하며 내용과 호출기를 올바르게 표시합니다. 그러나 호출기 링크를 선택하면 호출기가 양식을 다시 작성하고 제출하지 않습니다. GET 요청이 상단의 URL에 추가되는 것을 볼 수 있지만 그게 전부입니다. 호출기가 제대로 작동하도록 양식을 수동으로 제출해야합니다. 이 일이 보이는 사람이 있습니까? 요청을 가로 채서 GET을 제출하기 위해 일부 아약스를 작성하려고했으나 같은 문제가 계속 발생했습니다.양식 데이터가있는 drupal 호출기

답변

1

드루팔 (Drupal) 호출기를 사용할 때 피트가 떨어지는 몇 가지 문제가 있습니다. 첫 번째는 한 페이지에 여러 pager_query()가있는 경우 페이지의 모든 '호출기'요소가 기본적으로 첫 번째 쿼리 만 참조한다는 것입니다. 따라서 제일 먼저해야 할 일은 여러 데이터베이스에 대해 여러 개의 pager_queries를 사용하고 있지 않은지 확인하는 것입니다. 중복 호출기 쿼리를 찾기 위해 관리하는 경우,

$query = db_select('node','n')->extend('PagerDefault'); 
$query->limit(10); 
$query->fields('n',array('nid',)) 
$query->orderBy('n.nid','DESC'); 

다음 사용하여 참조 할 호출기 쿼리를 설정할 수 있습니다 : 당신이 드루팔 7.0을 사용하는 경우, 다음이 제대로 형성 호출기 쿼리가 어떻게 보일지입니다

$pager = array(
    'tags' => array(), 
    'element' => 1, /* 0 for first query on the page, 1 for second etc. */ 
    'quantity' => 5, 
    'parameters' => array(), 
); 

$form['table'] = array(
     '#markup' => theme_table($variables) . theme_pager($pager), 
); 

Drupal 6을 사용하는 경우 솔루션이 약간 다를 수 있습니다.