framework = $framework; parent::__construct(); } protected function configure(): void { $this ->setName(self::$defaultName) ->setDescription('Search Shopware products by SKU') ->addOption('short','s',InputOption::VALUE_NONE, 'Short result: Only show name and basic product infos') ; } protected function execute(InputInterface $input, OutputInterface $output): int { $this->framework->initialize(); $cloner = new VarCloner(); $dumper = new CliDumper(); $io = new SymfonyStyle($input, $output); $io->title('Shopware products search by SKU'); $strSku = $io->ask('Enter SKU to search for'); /** @var Shopware $Shopware */ $Shopware = System::getContainer()->get(Shopware::class); $Result = $Shopware->getProductsForSku($strSku,true, $input->getOption('short') ? true : false); if ($Result->getStatusCode() === 200) { $Content = json_validate($Result->getContent()) ? json_decode($Result->getContent(), true) : $Result; if ($Content['total']) { $dumper->dump(($cloner->cloneVar($Content['data']))); } $io->success(sprintf('Found %s product(s)',$Content['total'])); return self::SUCCESS; } $io->error(sprintf('Could not retrieve products by SKU. HTTP Status returned: %s',$Result->getStatusCode())); return self::FAILURE; } }