Magento 2 Statische Datein und Xampp Titelbild

In unserer Agentur sollte ein Magento CE 2.4.5-p1 Onlineshop installiert werden auf XAMPP (PHP 8.1) / Windows. Magento Webshops sind nicht ausgelegt auf Windows bzw. XAMPP, daher gibt es hier einige Besonderheiten. Nachdem wir die meisten Schwierigkeiten ausräumen konnten (richtige c:\xampp\apache\conf\extra\httpd-vhosts.conf-Konfiguration, Anpassung \vendor\magento\framework\View\Element\Template\File\Validator.php wg. unterschiedlichem Verzeichnistrenner, etc.) blieb ein Fehler bestehen.

 Während wir im Developer-Mode zwar manuell deployen konnten via bin/magento -f setup:static-content:deploy de_DE en_US, wurden die Assets in /pub/static/ nach bloßem Aufrufen der Seite nicht erzeugt. Allein die require-config.js wurde geschrieben. Im debug.log war (unter anderem) der folgende Fehler zu finden, der in der Datei 

 

\vendor\magento\framework\App\StaticResource.php

 

erzeugt wurde:

 

adminhtml/Magento/backend/de_DE/Magento_ReCaptchaUser/css/recaptcha.css is wrong.
<pre>#1 Magento\Framework\App\Bootstrap->run() called at [pub\static.php:13]
</pre>

 

Dieser wurde dadurch erzeugt, dass der Rückgabewert der Methode

 

$this->isThemeAllowed($params['area']. DIRECTORY_SEPARATOR .$params['theme'])

 

"false" war. Dies resultierte aus dem Windows Verzeichnistrenner, der dann bei uns dieses Webshop Theme abfragen lassen wollte:

 

frontend\Magento/luma

 

Dies wertete das System als nicht erlaubt (macht jedoch in diesem Kontext keinen Sinn) und ließ eine Generierung der Assets nicht zu.

 

Somit mussten wir hier

 

if (!($this->isThemeAllowed($params['area'] . DIRECTORY_SEPARATOR . $params['theme'])

 

ersetzen mit

 

if (!($this->isThemeAllowed($params['area'] . '/' . $params['theme'])

 

Damit war das Shopsystem wieder lauffähig und die Assets wurden auf Anfrage im Developer Mode generiert. Und: Ja, natürlich, bitte nicht direkt in "vendor" korrigieren, sondern eine eigene Extension schreiben, die die launch()-Funktion überschreibt, aber das versteht sich eigentlich von selbst. :-) 

 

Gesehen in unserer Webagentur in einem Magento Webshop in der Version 2.4.5-p1 auf XAMPP in Windows.