1 comment.module comment_view_multiple($comments, Node $node, $view_mode = 'full', $weight = 0, $langcode = NULL)

Constructs render array from an array of loaded comments.

Parameters

$comments: An array of comments as returned by comment_load_multiple().

Node $node: The node the comments are attached to.

$view_mode: (optional) Display mode, e.g. 'full' or 'teaser'. Defaults to 'full'.

$weight: An integer representing the weight of the first comment in the list.

$langcode: A string indicating the language field values are to be shown in. If no language is provided the current content language is used.

Return value

An array in the format expected by backdrop_render().:

See also

backdrop_render()

File

core/modules/comment/comment.module, line 1058
Enables users to comment on published content.

Code

function comment_view_multiple($comments, Node $node, $view_mode = 'full', $weight = 0, $langcode = NULL) {
  $build = array();
  $entities_by_view_mode = entity_view_mode_prepare('comment', $comments, $view_mode, $langcode);
  foreach ($entities_by_view_mode as $entity_view_mode => $entities) {
    field_attach_prepare_view('comment', $entities, $entity_view_mode, $langcode);
    entity_prepare_view('comment', $entities, $langcode);

    foreach ($entities as $entity) {
      $build[$entity->cid] = comment_view($entity, $node, $entity_view_mode, $langcode);
    }
  }
  foreach ($comments as $comment) {
    $build[$comment->cid]['#weight'] = $weight;
    $weight++;
  }
  // Sort here, to preserve the input order of the entities that were passed to
  // this function.
  backdrop_sort($build, array('#weight'));
  $build['#sorted'] = TRUE;

  return $build;
}