node_title_list(StatementInterface $result, $title = NULL)
Gathers a listing of links to nodes.
\Drupal\Core\Database\StatementInterface $result: A database result object from a query to fetch node entities. If your query joins the {comment_entity_statistics} table so that the comment_count field is available, a title attribute will be added to show the number of comments.
$title: (optional) A heading for the resulting list.
array|false A renderable array containing a list of linked node titles fetched from $result, or FALSE if there are no rows in $result.
function node_title_list(StatementInterface $result, $title = NULL) { $items = array(); $num_rows = FALSE; $nids = []; foreach ($result as $row) { // Do not use $node->label() or $node->urlInfo() here, because we only have // database rows, not actual nodes. $nids[] = $row->nid; $options = !empty($row->comment_count) ? array('attributes' => array('title' => \Drupal::translation()->formatPlural($row->comment_count, '1 comment', '@count comments'))) : array(); $items[] = \Drupal::l($row->title, new Url('entity.node.canonical', ['node' => $row->nid], $options)); $num_rows = TRUE; } return $num_rows ? array('#theme' => 'item_list__node', '#items' => $items, '#title' => $title, '#cache' => ['tags' => Cache::mergeTags(['node_list'], Cache::buildTags('node', $nids))]) : FALSE; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!modules!node!node.module/function/node_title_list/8.1.x