在页面上需要分页使用EntityFieldQuery()列出' Article'的所有节点。内容类型

时间:2014-09-21 10:10:42

标签: drupal drupal-7

我需要使用带分页的EntityFieldQuery()显示所有节点的列表。并且我已经应用了所有条件来获得我的结果并且它工作正常。但有些分页如何不起作用。我搜索谷歌并应用所有解决方案,但它不起作用。我得到了结果,但分页没有显示。请帮助。

这是我的代码。

$output = array();
$query = new EntityFieldQuery();
$query->entityCondition('entity_type','node')
      ->entityCondition('bundle', 'article')
      ->pager(1);
$results = $query->execute();

if (isset($results['nodes'])) {
         $content = node_view_multiple(node_load_multiple(array_keys($results['nodes'])));
         $output = array(
                     'content'=> $content,
                     'pager'=> array(
                                '#markup' => theme('pager'),
                                '#weight' => 10
                               )
                      );   
}  
print render($output);

谢谢, 苏尼

1 个答案:

答案 0 :(得分:0)

我认为 isset()应该在'node'而不是'nodes'上完成。您的$content var也是如此。而不是print render($output);使用它作为返回值。与return $output;

一样
$query = new EntityFieldQuery();
$query->entityCondition('entity_type','node')
    ->entityCondition('bundle','article')
    ->pager(1);
$results = $query->execute();
$output = array();
if (isset($results['node'])) {
    $content = node_view_multiple(node_load_multiple(array_keys($results['node'])));
    $output = array(
      'content'=> $content,
      'pager'=> array(
          '#markup' => theme('pager'),
          '#weight' => 10
         )
      );   
  }  
  return $output;