options['settings']['link'])) { foreach ($items as &$item) { $object = $item['raw']; $entity = $object->getEntity(); $url = $entity->toUrl()->toString(); $domain = $item['rendered']['#options']['entity']; $item['rendered']['#type'] = 'markup'; $item['rendered']['#markup'] = '' . $domain->label() . ''; } uasort($items, [$this, 'sort']); } return $items; } /** * Sort the domain list, if possible. */ private function sort($a, $b) { $domainA = isset($a['rendered']['#options']['entity']) ? $a['rendered']['#options']['entity'] : 0; $domainB = isset($b['rendered']['#options']['entity']) ? $b['rendered']['#options']['entity'] : 0; if ($domainA !== 0) { return $domainA->getWeight() > $domainB->getWeight(); } // We don't have a domain object so sort as best we can. return $a['rendered']['#plain_text'] > $b['rendered']['#plain_text']; } }