You are here

public static function Block::sort in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/block/src/Entity/Block.php \Drupal\block\Entity\Block::sort()
  2. 10 core/modules/block/src/Entity/Block.php \Drupal\block\Entity\Block::sort()

Sorts active blocks by weight; sorts inactive blocks by name.

Overrides ConfigEntityBase::sort

File

core/modules/block/src/Entity/Block.php, line 216

Class

Block
Defines a Block configuration entity class.

Namespace

Drupal\block\Entity

Code

public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) {

  // Separate enabled from disabled.
  $status = (int) $b
    ->status() - (int) $a
    ->status();
  if ($status !== 0) {
    return $status;
  }

  // Sort by weight.
  $weight = $a
    ->getWeight() - $b
    ->getWeight();
  if ($weight) {
    return $weight;
  }

  // Sort by label.
  return strcmp($a
    ->label(), $b
    ->label());
}