Beiträge von neoman666

    Hi,


    ich habe mir ein Template selbst geschrieben auf Basis von Bootstrap 5. Im Head-Bereich der Seite lade ich mitteln den Web Asset Manager von Joomla 4 meine benötigten CSS und JS-Dateien. Soweit, sogut.


    Nun lad aber Joomla auch gewissen CSS und JS-Dateien, die ich meiner Meinung nach nicht benötige. Diese werden durch Joomla-Core Erweiterungen geladen. Hier ein paar Beispiele.


    Code
    <link href="/joomla/media/mod_languages/css/template.min.css?5acbe2dff0101a088c32b8f438974e98" rel="stylesheet">
    <link href="/joomla/media/vendor/joomla-custom-elements/css/joomla-alert.min.css?0.2.0" rel="stylesheet">


    Code
    <script src="/joomla/media/system/js/core.min.js?3b2c7481f479d57ca6a59403341a2e378a288779"></script>
    <script src="/joomla/media/com_finder/js/finder-es5.min.js?14e4c7fdce4ca11c6d12b74bad128529a294b183" nomodule="" defer=""></script>
    <script src="/joomla/media/system/js/messages-es5.min.js?42aff9798f66753bdb448b926baf2140f17f2c07" nomodule="" defer=""></script>
    <script src="/joomla/media/com_finder/js/finder.min.js?c8b55661ed62db937b8d6856090adf9258c4a0fc" type="module"></script>
    <script src="/joomla/media/system/js/messages.min.js?7425e8d1cb9e4f061d5e30271d6d99b085344117" type="module"></script>


    Meine erste Frage wäre, wozu all diese Dateien benötigt werden? Die CSS-Dateien brauche ich jedenfalls nicht.


    Zweite Frage: Wie werde ich diese Dateien los?



    MfG neoman

    Nochmal zum Thema. In einem ganzen normalen Joomla-Artikel funktioniert das native lazy-loading. Habe einfach folgende Zeile eingefügt.


    Code
    <img src="japan.jpg" alt="japan" loading="lazy" width="1920" height="1280">

    Nun verwende ich aber auch Module, z.B. mod_category, wo ich mir durch ein Override die Artikelbilder (Intro und Full Image) ausgeben lasse. Hier funktioniert das lazy-loading nicht, warum auch immer. Die Bilder werden sofort geladen, obwohl diese gar nicht im Viewpoint sondern ganz am Ende der Seite sind.


    Warum das so ist kann ich mir nicht erklären. Die Bilder in den Modulen werden genau so wie im Artikel selbst eingebunden, also mit dem selben Code wie oben gezeigt.


    Wo könnte hier der Fehler liegen?



    MfG neoman

    Genau so habe ich das überprüft. Firefox -> Entwicklertools -> Netzwerkanalyse. Dort sehe ich, das bereits alle Bilder geladen sind, obwohl ich noch gar nicht gescrollt habe.


    Ich habe mal ohne Joomla eine einfache HTML-Seite erstellt, dort ein paar Bilder eingefügt und dann lokal getestet. Auch hier werden alle Bilder schon im Voraus geladen, obwohl ich noch gar nicht gescrollt habe. Lade ich das ganze auf meinem Webspace hoch, funktioniert das ganze.


    Gibt es da einen Unterschied zwischen lokal und onilne?

    Hi neoman!


    Nein, die Standardeinstellung meines Plugins ist das von dir gewünschte automatische Hinzufügen des loading="lazy" Attributs zu jedem Bild, welches du nicht über die Einstellungen ausschließt (Unterstützte Nachladelösungen: Natives Laden auf Browser-Ebene für moderne Browser (nur Pro-Version)". Als Alternative sind noch 2 JavaScript Bibliotheken eingebaut, die du aber explizit auswählen musst, wenn du möchtest.

    Hallo Viktor,


    sorry, wenn ich hier dein Plugin falsch beschrieben habe, das war keine Absicht sondern leider Unwissenheit. Du hast es zum Glück richtig gestellt.



    MfG neoman


    Vielen Dank für deine ausführliche Anleitung, die mir sehr geholfen hat. Jedoch scheint das lazy-loading aus irgend einen Grund nicht zu funktionieren, alle Bilder werden "eager" geladen.


    Was muss ich beachten? Meine Zeile sieht z.B. so aus:


    Code
    <img loading="lazy" src="meinbild.jpg" width="1200" height="900">


    Das Bild wird aber nicht erst geladen, wenn es in den Viewport komt, sondern schon bei Seitenaufruf. Was mache ich falsch, bzw. was habe ich vergessen?


    Kann es sein das die Browser-interne lazy-loading Funktionalität nicht lokal funktioniert? z.B. unter Xampp?

    Also fügt Joomla nicht automatisch zu jedem <img> das loading="lazy" hinzu?


    Man muss dies entweder händisch im Editor machen oder das oben genannte Plugin verwenden. Hab ich das so richtig verstanden?


    Es sollte doch das mal in den Joomla-Core integriert werden, anstatt das mit dem Plugin, so habe ich das jedenfalls mal irgendwo gelesen.

    Hi,


    ich nutze die aktuellste Joomla-Version, das Template ist auf Basis von Bootstrap selbst geschrieben. Nun möchte ich in meiner Webseite lazy-loading integrieren, ganz ohne Javascript, sondern das native Browser-lazy-loading.


    Hier sehe ich bei Joomla nicht durch, da sich in den letzten Monaten und Jahren immer wieder was geändert hat. Es fing mit einem Plugin an, dann konnte man es irgendwie im Media Manager zuschalten etc.


    Wie ist denn nun der aktuelle Stand? Kann mich da bitte jemand aufklären, wie ich lazy loading integrieren kann?



    MfG neoman

    Folgende Zeile in der Datei default_heading.php war für mein Problem die Lösung.


    PHP
    <a class="nav-link dropdown-toggle <?php echo $anchor_css; ?>" href="#" <?php echo $title; ?> role="button" data-bs-toggle="dropdown" aria-expanded="false"><?php echo $linktype; ?><

    Vielen Dank dafür.

    Leider gibt es ein Problem wenn ich wie oben beschrieben den Menüeintragtyp "Menü-Überschrift" verwende. Da ich ein auf Bootstrap-basierendes Template verwende, funktioniert das Aufklappen des Menüs nicht mehr, wenn ich die Seite auf Mobile Endgeräte verwende (Burgermenü). Dort muss ich wiederum klicken, um das Menü zu öffnen.


    Gibt es andere Lösungen?

    Hi,


    ich nutze auf meiner Webseite ein Menü mit Untermenüpunkten. Dabei ist der jeweilge Obermenüpunkt für die Untermenüpunkte vom Menüeintragtyp her vom Typ "URL". Als Link gibt man das #-Zeichen an. Somit verbirgt sich hinter jedem Obermenüpunkt, der Untermenüpunkte enthält, kein Link zu einer Seite sondern lediglich ein leerer Link ohne Funktion. Die eigentliche Funktion ist ja das Aufklappen der Unterpunkte.


    Soviel zur Vorgeschichte, ist ja ganz normales Verhalten von z.B. navbars, wie etwa Bootstrap o.ä.


    Joomla generiert nun aus dem Menü die sog. Breadcrumb. Nehmen wie folgendes einfaches Menü auf einer Webseite an:


    Startseite

    Über uns

    ---Team

    ---Kollegen

    ---Mitarbeiter


    Klicke ich nun auf den Untermenüpunkt Mitarbeiter, generiert Joomla folgende Breadcrumb:


    Startseite -> Über uns -> Mitarbeiter


    Das Problem ist nun, das "Über uns" nun wie oben beschrieben als Linkziel nur das #-Zeichen enthält, was ja auch richtig ist, weil "Über uns" nur zum Aufklappen des Menüs dient.


    Ich möchte nun, das in der Breadcrumb solche "Links" inaktiv sind, sie sich also nicht mehr anklicken lassen, da der Link eh keine Funktion hat.


    Wie kann ich soetwas umsetzen? Ich hoffe meine Erklärungen sind verständlich.



    MfG neoman

    Hat hier wirklich keiner eine Lösung parat?

    Erstmal vielen Dank für eure Unterstützung. Ich habe nun mein Formular soweit fertig, bis auf ein paar keine "Schönheitsfehler".


    Zum einen stört mich, das die Validierung bzw. der Validierungstext mit dem eigentlichen Label gekoppelt ist. Ich würde gerne den Validierungstext unterhalb des jeweiligen Input-Feldes platzieren. Das bekomme ich aber nicht hin, da dieser Text mit dem Label zusammenhängt (siehe Screenshot).



    Zum anderen möchte ich die Datenschutzerklärung nicht in einem Modal aufgehen lassen, sondern es soll einen ganz normalen Beitrag öffnen.Für die Datenschutzerklärung habe ich das Plugin "Inhalt - Datenschutzerklärung" aktiviert. Im Plugin hat man bei Datenschutztyp die Wahl zwischen Beitrag und Menüpunkt. Bei beiden geht dann ein Modal auf.



    MfG neoman

    Was will man weniger für ein Kontaktformular? Ohne E-Mail kann man nicht antworten, ohne Nachricht ist das ganze witzlos und wie Tom schon schrieb, man kann als Name Mickey Mouse schreiben... wäre aber nicht so sinnvoll, wenn ich eine Antwort auf meiner Anfrage bekommen will...

    Name und E-Mail-Adresse sind doch mehr als sparsam. Für eine vernünftige Antwortmöglichkeit ist das schon minimal.
    Der Name wird nicht validiert, nur, ob das Feld befüllt ist. Wenn ich meinen Namen nicht preisgeben will, mache ich Pünktchen rein.

    Habe nochmal hier und hier nachgelesen. Dort steht geschrieben, da Name und E-Mail und natürlich der Text an sich Pflichtfelder sein dürfen und damit das Prinzip der Datensparsamkeit gegeben ist. Ich hatte das wahrscheinlich mit einer Newsletteranmeldung verwechselt, da dürfen nur die E-Mail-Adresse als Pflichtfeld abgefragt werden.


    Somit sollte ich auf der rechtlich sicheren Seite sein und kann das Joomla-eigene Formular ja verwenden. Einzig der Betreff wäre nicht unbedingt nötig und könnte als freiwillige Angabe sein.



    und wenn ich meine email nicht angeben will z.B. example@example.org


    Beide Werte könnte man in einem Override in das Kontaktformular

    in den entsprechenden Feldern z.B. "voreintragen"(default) falls gewünscht oder erforderlich.

    Das verstehe ich nicht ganz. Könntest du das bitte etwas näher erklären.