node_title_list(StatementInterface $result, $title = NULL)
Gathers a listing of links to nodes.
Parameters
\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.
Return value
array|false A renderable array containing a list of linked node titles fetched from $result, or FALSE if there are no rows in $result.
File
- core/modules/node/node.module, line 188
- The core module that allows content to be submitted to the site.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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; } |
Please login to continue.