Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. CommentStatistics.php

function CommentStatistics::getRankingInfo

File

core/modules/comment/src/CommentStatistics.php, line 173

Class

CommentStatistics

Namespace

Drupal\comment

Code

public function getRankingInfo() {
    return [
        'comments' => [
            'title' => t('Number of comments'),
            'join' => [
                'type' => 'LEFT',
                'table' => 'comment_entity_statistics',
                'alias' => 'ces',
                // Default to comment field as this is the most common use case for
                // nodes.
'on' => "ces.entity_id = i.sid AND ces.entity_type = 'node' AND ces.field_name = 'comment'",
            ],
            // Inverse law that maps the highest view count on the site to 1 and 0
            // to 0. Note that the ROUND here is necessary for PostgreSQL and SQLite
            // in order to ensure that the :comment_scale argument is treated as
            // a numeric type, because the PostgreSQL PDO driver sometimes puts
            // values in as strings instead of numbers in complex expressions like
            // this.
'score' => '2.0 - 2.0 / (1.0 + ces.comment_count * (ROUND(:comment_scale, 4)))',
            'arguments' => [
                ':comment_scale' => \Drupal::state()->get('comment.node_comment_statistics_scale', 0),
            ],
        ],
    ];
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal