custom/plugins/SheAdminUrl/src/SheAdminUrl.php line 13

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace She\AdminUrl;
  4. use Shopware\Administration\Controller\AdministrationController;
  5. use Shopware\Core\Framework\Plugin;
  6. use Shopware\Core\PlatformRequest;
  7. use Shopware\Core\System\SystemConfig\SystemConfigService;
  8. use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
  9. class SheAdminUrl extends Plugin
  10. {
  11.     public const CONFIG_NAME 'SheAdminUrl.config.adminUrl';
  12.     public function configureRouteOverwrites(RoutingConfigurator $routesstring $environment): void
  13.     {
  14.         if (!$this->isActive()) {
  15.             return;
  16.         }
  17.         $systemConfigService $this->container->get(SystemConfigService::class);
  18.         if (!$systemConfigService instanceof SystemConfigService) {
  19.             return;
  20.         }
  21.         $url $systemConfigService->get(self::CONFIG_NAME);
  22.         if ('' === $url) {
  23.             return;
  24.         }
  25.         if (!\is_string($url)) {
  26.             return;
  27.         }
  28.         $routes
  29.             ->collection()
  30.             ->add('administration.index'$url)
  31.             ->controller(AdministrationController::class . '::index')
  32.             ->defaults([
  33.                 'auth_required' => false,
  34.                 PlatformRequest::ATTRIBUTE_ROUTE_SCOPE => ['administration'],
  35.             ])
  36.             ->methods(['GET']);
  37.     }
  38. }