config->isWidgetEnabled() && $this->getTracks() !== []; } public function getTracks(): array { $order = $this->registry->registry('current_order'); if (!$order instanceof Order) { return []; } $tracks = []; foreach ($order->getShipmentsCollection() as $shipment) { foreach ($shipment->getAllTracks() as $track) { $number = trim((string)$track->getTrackNumber()); if ($number !== '') { $tracks[$number] = [ 'number' => $number, 'title' => (string)($track->getTitle() ?: __('Shipment')), ]; } } } return array_values($tracks); } public function getWidgetHeight(): int { return $this->config->getWidgetHeight(); } public function getWidgetLanguage(): string { $locale = str_replace('_', '-', $this->localeResolver->getLocale()); $map = ['zh-CN' => 'zh-cn', 'zh-HK' => 'zh-hk', 'zh-TW' => 'zh-tw', 'pt-BR' => 'pt']; return $map[$locale] ?? strtolower(substr($locale, 0, 2)); } }