Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TEST-3] Undefined global variable $LEAFLET_LIBRARIES - Weiterhin vorhanden #127

Open
havutcuoglu opened this issue Apr 28, 2023 · 5 comments

Comments

@havutcuoglu
Copy link

havutcuoglu commented Apr 28, 2023

Hallo,

ich habe die Erweiterung installiert und hatte schon Probleme mit $LEAFLET_LIBRARIES, weil diese nicht definiert sind. Bin in das contao/config.php und hab es provisorisch definiert.

Danach kann man Backend und Frontend normal aufrufen.

Allerdings, sobald man eine Karte definieren möchte, bekommt man im Backend keine Kartenanzeige und viele JS Fehler.

Refused to apply style from 'https://.......com/assets/leaflet/libs/leaflet/leaflet.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

GET https://.......com/assets/leaflet/libs/leaflet/leaflet.js net::ERR_ABORTED 404 (Not Found)

Refused to apply style from 'https://........com/assets/leaflet/libs/control-geocoder/Control.Geocoder.min.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

Refused to execute script from 'https://........com/assets/leaflet/libs/leaflet/leaflet.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

GET https://........com/assets/leaflet/libs/control-geocoder/Control.Geocoder.min.js net::ERR_ABORTED 404 (Not Found)

Refused to execute script from 'https://........com/assets/leaflet/libs/control-geocoder/Control.Geocoder.min.js' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.

Uncaught ReferenceError: L is not defined
at contao?act=edit&do=leaflet_map&id=1&ref=39FuuOUT&rt=e702d6ea1e55aaa6f36.Ur71neXth1x9C_U9xP_81Gflm1J9gy_w7fz6_ObujN8.YP-W8reyzmwzP8BUirONuD7W3zwW9VWxj7uUrZbawr4azqfQh4nqcRkzvA:288:15

Auch in Frontend taucht der Fehler caught ReferenceError: L is not defined Fix hier löst das Problem nicht.

Contao Version: 4.13.21 Map Version 3.2.4

llm-frontend llm-backend

@havutcuoglu
Copy link
Author

Ich habe die Erweiterung komplett entfernt und versucht erneut zu installieren. Dabei kam wieder derselbe Fehler. Siehe Screenshot.
Undefined global variable $LEAFLET_LIBRARIES und das führt dazu, dass Frontend und Backend nicht funktioniert.
console

@havutcuoglu
Copy link
Author

havutcuoglu commented May 17, 2023

Für diejenigen, die ebenfalls auf dasselbe Problem stoßen.

Die Erweiterung kann einfach die libs nicht unter assets generieren.
Jede Abhängigkeit ist auch irgendwie anders aufgebaut. Nachdem ich mit meinen Reparaturversuchen gescheitert bin, habe ich die Einträge aus der contao-leaflet-libraries/module/config/config.php in die globale config.php kopiert und die assets von Hand in assets/leaflet/libs kopiert, damit die Erweiterung überhaupt funktioniert.

Ist zwar nicht Update sicher, aber da ich eilig habe und nicht warten kann, ist es momentan die beste und einfachste Lösung.

@igi-1w3r53n
Copy link

Das Problem durfte ich auch schon kennenlernen. Mit den bekannten Hacks habe ich es geschafft das Modul zu installieren (Contao 4.13.24 + Leaflet 3.2.4) und nachdem ich die libs manuell kopiert habe, wurde mir zumindest im Backend die Karte korrekt dargestellt.

Im Frontend ist es aber noch das selbe: "Uncaught ReferenceError: L is not defined". Lt. Stackoverflow soll es an der Reihenfolge liegen, wie die CSS/JS Dateien eingebunden werden. Ich bin aber gerade noch zu blöd um herauszufinden, wie ich das korrigiere.

Gibt es da noch Ideen / Lösungsansätze? Ich bin auch absolut offen für dreckige Workarounds (muss es zumindest in meiner lokalen DEV Umgebung zum laufen bekommen).

@taleteller
Copy link

Die Karte lädt nicht im Frontend weil die nötigen JS/CSS Dateien nicht geladen werden. Ich habe die folgenden Globals in der system/config/localconfig.php eingetragen:

$GLOBALS['TL_JAVASCRIPT'][] = 'assets/leaflet/libs/leaflet/leaflet.js|static';
$GLOBALS['TL_JAVASCRIPT'][] = 'assets/leaflet/libs/leaflet-omnivore/leaflet-omnivore.min.js|static';
$GLOBALS['TL_JAVASCRIPT'][] = 'assets/leaflet/libs/leaflet-providers/leaflet-providers.min.js|static';
$GLOBALS['TL_CSS'][] = 'assets/leaflet/libs/leaflet/leaflet.css';

Kann sein das dass nicht alle sind, aber für mich lädt die Karte im Frontend mit Layern aus "Vorkonfigurierter Karte", Markern und Popups.

@havutcuoglu
Copy link
Author

havutcuoglu commented Nov 8, 2023

Damit es für jeden verständlich ist.

Fehler:
PHP Warning: Undefined global variable $LEAFLET_LIBRARIES in /var/www/vhosts/..../domain.com/vendor/netzmacht/contao-leaflet-maps/src/Frontend/Assets/LibrariesConfiguration.php on line 54 12:47:05 CRITICAL [console] Error thrown while running command "cache:warmup". Message: "ArrayIterator::__construct(): Argument #1 ($array) must be of type array, null given" ["exception" => TypeError { …},"command" => "cache:warmup","message" => "ArrayIterator::__construct(): Argument #1 ($array) must be of type array, null given"]

Lösung:

  1. contao-leaflet-libraries/module/config/config.php in root Verzeichnis contao/config/config.php übertragen. Eventuell muss diese Ordnerstruktur und Datei neu erstellt werden.
  2. Aus der Repository, die libs unter assets/leaflet/libs kopieren. Auch hier kann es sein, dass die Ordnerstruktur neu angelegt werden muss.

Cache leeren und schon funktioniert alles wieder.

Hier muss der Entwickler sich Zeitnehmen und schauen, woran das Problem liegt.
Das ist natürlich kein Dauerzustand, aber dieser Workaround funktioniert für mich, bis der Bugfix herauskommt.

@makeplane makeplane bot changed the title Undefined global variable $LEAFLET_LIBRARIES - Weiterhin vorhanden [TEST-3] Undefined global variable $LEAFLET_LIBRARIES - Weiterhin vorhanden Feb 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants