【问题标题】:drupal pager with form data带有表单数据的 drupal 寻呼机
【发布时间】:2023-04-03 18:40:01
【问题描述】:

我有一个表单,它显然会接收一些元素,然后对外部数据库运行一个选择。我可以毫无问题地返回数据。我遇到的问题是让寻呼机正确提交。对 pager_query() 的初始请求很好,可以正确显示内容和寻呼机。但是,当我选择寻呼机链接时,寻呼机只是重建表单而不提交。我看到 GET 请求被添加到顶部的 url 中,仅此而已。然后我必须手动提交表单才能使寻呼机正常工作。有人见过这种情况吗?我试图编写一些 ajax 来劫持请求并提交一个 GET 但仍然遇到同样的问题。

【问题讨论】:

    标签: forms drupal pager


    【解决方案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,那么解决方案可能会略有不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      相关资源
      最近更新 更多