Override der Nachrichtenboxen von Formularen

  • Hallo zusammen,


    Ich würde gerne die System-Nachrichtenboxen per Override für mein Template anpassen. Dazu habe ich vom File

    Code
    1. /layouts/joomla/system/message.php

    ein Override erstellt. Leider wird dieses Override unter anderem bei Formular-Validierungen (und auch sonst immer, wenn die Nachricht per Javascript in die Nachrichtenbox geschrieben wird) nicht angewandt. Wo und wie kann ich das Aussehen dieser per Javascript ausgegebenen Nachrichtenboxen anpassen?

  • Ja, ich möchte aber einen anderen HTML-Aufbau und andere Klassennamen in der Nachrichtenbox haben. Diese scheint Javascript jedoch auch zu generieren und nicht nur den plain Text abzufüllen.
    Hier vor der Validierung:


    Und nach der Validierung:


    Wie man sieht hat Javascript auch die HTML-Struktur in der Nachrichtenbox erzeugt. Und diese möchte ich halt gerne anders haben...

  • Es scheint, ich habe die Stelle gefunden, wo der Inhalt der Nachrichtenbox generiert wird; media/system/js/core(-uncompressed).js ab Zeile 321


    Ich nehme an, es gibt keine Möglichkeit Javascript funktionen aus dem Joomla-Core zu Overriden?

  • Ich kann nur davor warnen die core.js zu überschreiben. Trägt ihren Namen nicht umsonst.


    /templates/DEINTEMPLATE/js/system/core.min.js

    /templates/DEINTEMPLATE/js/system/core.js


    Vielleicht kann man auch einzelne Methoden/Funktionen durch eigenes JavaScript umbiegen, also hier Jooml.renderMessages. Kenn ich mich nicht aus bzw. nur, wenn ich muss ;-)


    Vielleicht plump so irgendwie, nachdem core.js schon geladen ist(????), in eigener danach geladener Datei. Pure Theorie:

    Code
    1. Joomla = window.Joomla || {};
    2. (function(Joomla) {
    3.  Joomla.renderMessages = function(messages) {
    4.   EIGENE FUNKTIONS-LOGIK
    5.  };
    6. })(Joomla);