assertRequiredPluginsPresent Plugin Struktur ab 5.2

Hallo, 

würde gerne auf ein Plugin prüfen. In der alten Plugin-Struktur ging das mit 

 assertRequiredPluginsPresent

Wie macht man das nun in der neuen Plugin-Struktur?

Schau Mal hier https://developers.shopware.com/developers-guide/plugin-system/#require-other-plugins

1 „Gefällt mir“

Hi Shyim, vielen Dank für den Link. So wie das aussieht betrifft das aber die plugin.xml. Ich würde gerne in der Plugin PHP Datei auf andere Plugins abfragen.

 

@mdsw‍

W‍eiß nicht ob das noch aktuell ist, aber ich würde die 

 assertRequiredPluginsPresent

einfach in 5.2 Version umsetzen.

    protected function assertRequiredPluginsPresent(array $plugins)
    {
        $pluginRepository = Shopware()->Models()->getRepository(\Shopware\Models\Plugin\Plugin::class);
        foreach ($plugins as $plugin) {
            $test = $pluginRepository->findOneBy(['name' => $plugin, 'active' => 1]);
            if (!$test) {
                return false;
            }
        }

        return true;
    }

Die Funktion könntest in deiner 5.2 Bootrap-Plugin einbauen und verwenden. Vielleicht macht sie Shopware oder ein Merge-Request Erfahrener Community-Programmierer (Shyim  Wink) ja mal in die „engine/Shopware/Components/Plugin.php“ rein. Dann könnte man sie zumindest in der 5.2-Bootstrap so verwenden, wie bisher auch.

Wenn du nur nachschauen möchtest, ob ein Plugin vorhanden ist, kannst natürlich das ganze auch in 2 Zeilen machen.

$plugin = Shopware()->Models()->getRepository(\Shopware\Models\Plugin\Plugin::class)->findOneBy(['name' => 'NeedetPlugin', 'active' => 1]);
if (!plugin) {
    return false;
})
/** 
* Do some stuff, when "NeedetPlugin" ist active
*/

Gruß
daMardl

Ich hab mal einen Merge-Request gestellt. Mal schauen.