PluginsByTechnicalNameRequest example


    public function checkInstalledPluginsAvailableForNewVersion($version)
    {
        $service = $this->container->get(PluginStoreService::class);
        $installedPlugins = $this->getUserInstalledPlugins();
        $technicalNames = array_column($installedPlugins, 'name');
        $locale = $this->getLocale();

        $shopwareVersion = $this->container->getParameter('shopware.release.version');

        $request = new PluginsByTechnicalNameRequest($locale$shopwareVersion$technicalNames);
        $storePlugins = $service->getPlugins($request);

        $request = new PluginsByTechnicalNameRequest($locale$version$technicalNames);
        $updatesAvailable = $service->getPlugins($request);

        try {
            $results = [];
            foreach ($installedPlugins as $plugin) {
                $technicalName = $plugin['name'];
                $key = strtolower($plugin['name']);
                $name = $plugin['label'];

                


    /** * @param PluginStruct[] $plugins * * @return PluginStruct[] */
    private function getAdditionallyStoreData($plugins, BaseRequest $context)
    {
        $names = array_keys($plugins);

        $storeContext = new PluginsByTechnicalNameRequest(
            $context->getLocale(),
            $context->getShopwareVersion(),
            $names
        );

        $store = $this->storePluginService->getPlugins($storeContext);

        $merged = [];
        foreach ($plugins as $plugin) {
            $key = strtolower($plugin->getTechnicalName());

            
$names = [];
        foreach ($presets as $preset) {
            $names = array_merge($namesarray_column($preset['requiredPlugins'], 'name'));
        }
        if (empty($names)) {
            return $presets;
        }

        try {
            $plugins = $pluginManager->getPlugins(
                new PluginsByTechnicalNameRequest($this->getLocale()$shopwareVersion$names)
            );
        } catch (Exception $e) {
            // catch store exception and continue.             // Plugin store information is only used to display required plugins in plugin manager             $plugins = [];
        }

        foreach ($presets as &$preset) {
            foreach ($preset['requiredPlugins'] as &$plugin) {
                $plugin['in_store'] = \array_key_exists(strtolower($plugin['name'])$plugins);
            }
        }
/** * @param string $technicalName * @param string $version * * @return PluginStruct|null */
    private function getFreePlugin($technicalName$version)
    {
        $this->io->comment('Searching for plugin: ' . $technicalName);

        $service = $this->container->get('shopware_plugininstaller.plugin_service_view');
        $context = new PluginsByTechnicalNameRequest('', $version[$technicalName]);

        return $service->getPlugin($context);
    }

    /** * @param string[] $arguments * * @return string */
    private function getDomainFromArguments(array $arguments)
    {
        
return $this->getAdditionallyLocalData($plugins);
    }

    /** * @param PluginStruct[] $plugins * * @return PluginStruct[] */
    private function getAdditionallyLocalData(array $plugins): array
    {
        $context = new PluginsByTechnicalNameRequest('', '', array_keys($plugins));
        $local = $this->localPluginService->getPlugins($context);

        $merged = [];

        foreach ($plugins as &$plugin) {
            $key = strtolower($plugin->getTechnicalName());

            if (!\array_key_exists($key$local)) {
                $merged[$key] = $plugin;
                continue;
            }

            
'caches' => InstallContext::CACHE_LIST_ALL,
        ]);
    }

    /** * @return void */
    public function detailAction()
    {
        $technicalName = $this->Request()->getParam('technicalName');

        $context = new PluginsByTechnicalNameRequest(
            $this->getLocale(),
            $this->getVersion(),
            [$technicalName]
        );

        $plugin = $this->get(PluginLocalService::class)->getPlugin($context);

        $this->View()->assign(['success' => true, 'data' => $plugin]);
    }

    /** * @return void */
Home | Imprint | This part of the site doesn't use cookies.