2011-08-11 36 views
1

我有一個窗體,顯然需要一些元素,然後運行一個選擇對外部數據庫。我可以將數據提交回來,沒有問題。我遇到的麻煩是讓尋呼機正確提交。對pager_query()的初始請求很好,並正確顯示內容和傳呼。但是,當我選擇尋呼機鏈接時,尋呼機只是重建表單而不提交。我看到GET請求被添加到頂部的url,但就是這樣。我必須手動提交表單才能正常工作。有沒有人看到過這種情況?我試圖編寫一些Ajax來劫持請求並提交GET,但仍遇到同樣的問題。drupal尋呼與表單數據

回答

1

當使用Drupal尋呼機時,有幾個陷阱。首先,如果在單個頁面上有多個pager_query(),那麼頁面上的每個「pager」元素將默認只引用第一個查詢。所以你應該做的第一件事是檢查你是不是使用多個pager_queries到不同的數據庫。如果您正在使用Drupal的7.0,那麼這是一個正確形成的尋呼機查詢應該是什麼樣子:

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

如果你能找到重複的尋呼機查詢,那麼你可以設置使用引用該尋呼機查詢:

$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,那麼解決方案可能會稍有不同。