Aktuelles Datum hervorheben

  • Hallo zusammen,


    ich nutze die Komponente VisFoms, mit der Erweiterung Content Plugin Data View, um in einem Kontaktformular eingegebene Termine anzuzeigen.


    Das Plugin generiert folgende Ausgabe:



    Ist es möglich mit php die Ausgabe so zu verändern, dass wenn die Veranstaltung heute ist, die entsprechende Tabellenzeile fett geschrieben wird?



    Über einen Tipp würde ich mich sehr freuen



    Vielen Dank und viele Grüße

  • Das geht schon.

    Du müsstest den Code, der für die Ausgabe zuständig ist, erweitern, beispielsweise um eine IF-Anweisung, die ein <strong>...</strong> hinzufügt oder eben nicht, je nachdem ob das Datum dem heutigen entspricht oder auch nicht.

    Dazu müsstest du die entsprechende php-Datei finden.


    Ich selber habe VisForms nicht im Einsatz und kann dir keine Details nennen. Könnte auch sein, dass du dazu eine Core-Datei ändern musst. Vielleicht lässt sich auch ein Override anlegen.

  • Viellicht hilft auch dieses kleines jQuery dazu:

    https://jsfiddle.net/LukasHH/zLr51qe4/

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Hallo zusammen,


    leider erhalte ich in meinem produktiv-Template den Javascript Fehler


    TypeError: $(...) is null


    Er bezieht sich auf die erste Zeile des Scripts


    $('table.visdatatable tr td.vfdvvalue').each(function(){



    Hat jemand eine Ahnung wie ich diesen beheben kann?



    Es geht um eine Intranet-Homepage, die nur über das Firmen-Netzwerk erreichbar ist, daher kann ich keinen Link posten...



    Viele Grüße

  • LukasHH: Ich muss mich entschuldigen, ich hatte das Script aus jsfiddle.net kopiert. Dort fehlen im Gegensatz zu deinem Code aus #3 die erste und letzte Zeile.


    Wenn ich nun deinen vollständigen Code aus #3 in das Template einfüge, wird kein Text hervorgehoben.


    Stattdessen erhalte ich die Fehlermeldung Uncaught TypeError: $(...).ready is not a function bezogen auf die erste Codezeile $(document).ready(function(){.


    Ersetze ich in der ersten Codezeile $ durch jQuery, erhalte ich die Fehlermeldung Uncaught TypeError: $(...) is null. Also wieder retour.


    Ersetze ich in der zweiten Codezeile $ durch jQuery, erhalte ich die Fehlermeldung Uncaught TypeError: $(...).ready is not a function. Also wieder retour.


    Ersetze ich nun in den beiden ersten Codezeilen jeweils das $ durch jQuery, erhalte ich die Fehlermeldung Uncaught TypeError: $(...).text is not a function,, bezogen auf beide Codezeilen.


    Oh mann... ^^


    Hast du Lust dir das nochmal anzusehen?


    Vielen Dank und viele Grüße

  • Ahso sorry - ich dachte Du hattest, das schon verstanden, was ich meinte.

    Du müsstest alle $ durch jQuery ersetzen.


    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • In der Zeile 13 wird ja die Background-Farbe festgelegt. Anstatt das im Code zu machen, kannst Du auch eine CSS-Klasse festlegen und das Design dann im CSS steuern.

    Ich habe das im jfiddle als Beispiel mit der Schriftfarbe ergänzt.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • LukasHH: Vielen Dank für deine schnelle Antwort!


    Der aktuelle Tag (Sommerfest) wird nun gelb markiert, alles gut.


    Kurioserweise wird auch das Herbstfest am 05.10.2021 gelb markiert.


    Was könnte das denn jetzt wohl sein..?



    Viele Grüße

  • tausche mal die zwei Zeilen (9, 10) gegen diese aus:

    JavaScript
    var t = today.getDate()+'-'+today.getMonth()+'-'+today.getFullYear();
    var d = date1.getDate()+'-'+date1.getMonth()+'-'+date1.getFullYear();

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • LukasHH: Das funktioniert!


    Hier nochmal der komplette Code, falls das mal jemand braucht:


    Vielen Dank für deine Hilfe und viele Grüße

  • Ich breche zusammen... :)


    gestern lief ja alles, aber seit heute morgen (keine Änderungen am System) wird der aktuelle Tag plötzlich nicht mehr hervorgehoben...


    Das Script ist weiterhin eingebunden und auch im Quelltext sichtbar.


    Es werden einige JS-Fehler angezeigt:



    Hat jemand eine Idee was ich noch tun könnte...?


    Danke euch pardon

  • ohne die Seite zu sehen, ist das schwierig.

    Da die Variable t das aktuelle Datum ist, dürfte sie nicht NULL sein.


    Du könntest probieren bei der Variable t eine 0 anzuhängen.
    also var t0 = ... und danach if(t0 ===d)

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Ja, es ist tatsächlich komisch.


    Die heutige Zeile ist genau so formatiert wie die vorherigen.


  • Weit hergeholt, aber:

    Könnte es mit der in Joomla eingestellten Zeit zu tun haben, nach der eventuell erst der 08.07. und noch nicht der 09.07. ist?

    Ich weiß gerade nicht, was für die Zeit- und Datumsangaben maßgeblich ist.

    Ev. das aktuelle Datum mal ausgeben lassen, wenn das Problem weiterhin bestehen sollte.

  • Hallo zusammen,


    in der Konfiguration ist bei "Websitezeitzone" Berlin eingestellt.


    Im Backend sind z.B. bei den Beiträgen die Erstell- und Veröffentlichungszeitpunkte ebenfalls plausibel und korrekt.



    Hätte also gesagt, das es daran nicht liegt...



    Viele Grüße

  • Diese nach Zeile 14 Eintragen, dann werden die Vergleiche in die Console ausgegeben. Beachte, dass in JS die Monate 0-11 sind. Deswegen wird für Juli eine 6 ausgegeben.

    JavaScript
      if(!isNaN(date1)) {console.log (t0+' - '+d);}

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • ... ändert erstmal nichts, gibt aber in der Konsole den Fehler ReferenceError: t0 is not defined aus, bezogen auf die neue Zeile aus #18. if(!isNaN(date1)) {console.log (t0+' - '+d);}.

  • Asho - ich dachte Du hattest die Variable t auf t0 geändert. Die muss natürlich überall gleich sein.
    Dann also mal ändern:

    Code
            if(!isNaN(date1)) {console.log (t+' - '+d);}

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.