web-dev-qa-db-ja.com

/ pollインデックスページのリンク数をどのように編集しますか?

Drupal 7では、domain.com/pollにリストされている投票の数をどのように増やしますか?

現在の制限は1ページあたり15ポーリングであるように見え、下部にページ付けがあります。私はむしろ、ページ付けなしですべての投票をリストしたいと思います。

リストされている投票の数を増やす方法はありますか?

1
chainwork

ポーリングモジュールpoll.pages.incファイルにハードコーディングされています...

function poll_page() {
  $polls_per_page = 15;

  $count_select = db_select('node', 'n');
  $count_select->addExpression('COUNT(*)', 'expression');
  $count_select->join('poll', 'p', 'p.nid = n.nid');
  $count_select->condition('n.status', 1);

  // List all polls.
  $select = db_select('node', 'n');
  $select->join('poll', 'p', 'p.nid = n.nid');
  $select->join('poll_choice', 'c', 'c.nid = n.nid');
  $select->addExpression('SUM(c.chvotes)', 'votes');
  $select = $select->fields('n', array('nid', 'title', 'created'))
    ->fields('p', array('active'))
    ->condition('n.status', 1)
    ->orderBy('n.created', 'DESC')
    ->groupBy('n.nid')
    ->groupBy('n.title')
    ->groupBy('p.active')
    ->groupBy('n.created')
    ->extend('PagerDefault')
    ->limit($polls_per_page)
    ->addTag('node_access');
  $select->setCountQuery($count_select);
  $queried_nodes = $select->execute()
    ->fetchAllAssoc('nid');

  $output = '<ul>';
  foreach ($queried_nodes as $node) {
    $output .= '<li>' . l($node->title, "node/$node->nid") . ' - ' . format_plural($node->votes, '1 vote', '@count votes') . ' - ' . ($node->active ? t('open') : t('closed')) . '</li>';
  }
  $output .= '</ul>';
  $output .= theme('pager');
  return $output;
}

hook_menu_alter を使用してメニュー項目をオーバーライドし、カスタムモジュールを使用して上記の関数の最初の行に表示されるコールバックと設定を変更します。それ以外の場合は、ビューを使用して、ポーリングを表示する独自のページを作成します。 ..

1
Anil Sagar