*/ class DeliverySelectionService extends ConfigurableService implements Breadcrumbs { const SERVICE_ID = 'taoProctoring/DeliverySelection/breadcrumbs'; /** * Builds breadcrumbs for a particular route. * @param string $route - The route URL * @param array $parsedRoute - The parsed URL (@see parse_url), augmented with extension, controller and action * @return array|null - The breadcrumb related to the route, or `null` if none. Must contains: * - id: the route id * - url: the route url * - label: the label displayed for the breadcrumb * - entries: a list of related links, using the same format as above */ public function breadcrumbs($route, $parsedRoute) { if (isset($parsedRoute['action'])) { switch($parsedRoute['action']) { case 'index': return $this->breadcrumbsIndex($route, $parsedRoute); } } return null; } /** * Gets the breadcrumbs for the index page * @param string $route * @param array $parsedRoute * @return array */ protected function breadcrumbsIndex($route, $parsedRoute) { $urlContext = []; if (isset($parsedRoute['params'])) { if (isset($parsedRoute['params']['context'])) { $urlContext['context'] = $parsedRoute['params']['context']; } } return [ 'id' => 'deliverySelection', 'url' => _url('index', 'DeliverySelection', 'taoProctoring', $urlContext), 'label' => __('Deliveries'), ]; } }