Kurse: Individuelle Begrüßung oder Anrede

von Thomas Unkelbach - Freitag, 21. Oktober 2022, 15:24
 

Um eine individuelle Begrüßung oder Anrede (Vorname und/oder Nachname) der Teilnehmer*innen eines Kurses zu ermöglichen, muss in einem Textfeld im Kurs (HTML-Modus </> einschalten) folgender Code (Danke an @TRMSC1 ; Quelle: https://github.com/TRMSC/moodle-editor-inline-codes/blob/main/username-as-variable.html) eingegeben werden:

<!-- Username As Variable v.2.3.1 - Copyright (C) 2022, TRMSC - https://trmsc1.wordpress.com/ -->
<!-- GNU General Public Licence 3.0 - http://www.gnu.de/documents/gpl-3.0.en.html -->
<!-- THIS CODE ADDS THE FIRST USERNAME EVERYWHERE YOU WROTE <span class="fname"></span> IN HTML-MODE -->

<script>
    window.addEventListener('load', function(event) {
        let jquery_load_check_interval = setInterval(function() {
            if (window.jQuery) {
                console.log('Username As Variable: jQuery v.' + $.fn.jquery + ' loaded');
                console.log('Username As Variable: v.2.3');
                makeFirstname();
                makeLastname();
                clearInterval(jquery_load_check_interval);
            } else {
                console.log('Username As Variable: new try to load jquery...');
            }
        }, 150);

        function makeFirstname() {
            var fname = $('.logininfo a:first-of-type').text().split(/\s+/)[0]; /*IF THE LASTNAME WILL BE DISPLAYED TRY [1] INSTEAD OF [0] IN THIS LINE */
            console.log('Username As Variable: firstname is ' + fname);
            $(".fname").text(fname);
            console.log('Username As Variable: firstname added to all positions');
        }

        function makeLastname() {
            var lname = $('.logininfo a:first-of-type').text().split(/\s+/)[1]; /*IF THE FIRSTNAME WILL BE DISPLAYED TRY [0] INSTEAD OF [1] IN THIS LINE */
            console.log('Username As Variable: lastname is ' + lname);
            $(".lname").text(lname);
            console.log('Username As Variable: lastname added to all positions');
        }
    }, false);
</script>

Nach dem Abspeichern erscheint das Textfeld leer - keine Sorge, der Inhalt ist noch da.

Danach kann man in jedem Textobjekt an der gewünschten Stelle folgenden Code einfügen (zum Einfügen kurz den HTML-Modus </> einschalten):

<span class="fname"></span> (liefert den Vornamen)
<span class="lname"></span> (Liefert den Nachnamen)
<span class="fname"></span> <span class="lname"></span> (liefert Vor- und Nachname)

Fertig!

» Tipps & Tricks der #moodlebande