Plugin Version und Shopware Version programmatisch ermitteln

Hallo,

wie komme ich denn an die aktuell installierte Version meines Plugins (außerhalb der Plugin-Bootstrap-Contexte) und an die aktuell installierte Shopware-Version? Der Shopware-Version bin ich mit diesem Versuch am nächsten gekommen, allerdings steht dort nur ein Hash drin, keine “human readable” Variante wie “v6.1.5 Stable Version” - so wie das im Backend oben links auch auftaucht.

 $salesChannelContext-\>getContext()-\>getVersionId()

 

Es gibt eine Plugin-Entity + Datenbank Tabelle in der die Version auch drin steht.

Dann sag’ ich noch etwas zur Shopware-Version.

In einem Produktivsystem sollte mindestens die shopware/core Package installiert sein. In der Entwicklungsversion ist dagegen evtl. die shopware/platform Package installiert. Daher muss man hier vorsichtig sein:

try {
    $shopwareVersion = \PackageVersions\Versions::getVersion('shopware/core');
    if (version_compare($shopwareVersion, '6.1', '<=')) {
        // Version <= 6.1.X
    }
} catch (OutOfBoundsException $e) {
    // Entwicklungsversion! shopware/core ist nicht installiert!
    return [];
}

 

Danke euch beiden, genau wonach ich gesucht habe. Auf die Plugin-Tabelle habe ich mit dem Service ‚plugin.repository‘ zugegriffen (falls noch jemand danach sucht)