public function MongodbCommentStatistics::getRankingInfo in MongoDB 8
Returns an array of ranking information for hook_ranking().
Return value
array Array of ranking information as expected by hook_ranking().
Overrides CommentStatisticsInterface::getRankingInfo
See also
File
- mongodb_comment/
src/ MongodbCommentStatistics.php, line 160 - Contains \Drupal\comment\CommentStatistics.
Class
Namespace
Drupal\mongodb_commentCode
public function getRankingInfo() {
return array(
'comments' => array(
'title' => t('Number of comments'),
'join' => array(
'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' => array(
':comment_scale' => \Drupal::state()
->get('comment.node_comment_statistics_scale') ?: 0,
),
),
);
}