2016-07-12 8 views
0

Ich bin neu in Moodle. Ich habe die Anforderung, einen dynamischen Hilfetext in das Hilfesymbol einzufügen, das mit $ mform-> addHelpbutton() erstellt wurde. Funktion. Aber wir sind dazu nicht in der Lage.Fügen Sie dynamische Zeichenfolge in Moodle-Formular Hilfe-Symbol

Kann jemand mir eine andere Möglichkeit, die dynamische Zeichenfolge in Moodles Form Hilfe-Symbol übergeben.

+0

können Sie einen Code bereitstellen? – dios231

+0

Woher soll der dynamische Text kommen? Die Datenbank? Soll es sofort berechnet werden (aktuelles Datum, irgendeine URL)? –

+0

Ja, dynamischer Text sollte aus der Datenbank kommen. –

Antwort

2

Die addHelpButton() Methode hat den Parameter $ Komponente, die den aktuellen Text enthält gezeigt werden, wenn sie auf das Hilfesymbol (Help icon) klicken. Dieser Text wird aus dem $ string Array gelesen, das in der Sprachdatei definiert ist.

Der hier Trick besteht darin, dass das Array-Element dynamisch :-) gebaut werden kann

Nehmen wir ein Beispiel machen: In Ihrem mod_form.php Sie Ihre Hilfesymbol bauen mit:

$mform->addHelpButton ('element_name', 'your_identifier', 'your_help_text'); 

Der Text your_help_text wird in der Sprachdatei lesen in der Regel mit:

$string ['your_help_text_help'] = 'This is my static help text'; 

Hier können Sie diese Zeile ändern mit:

$string ['your_help_text_help'] = get_dynamic_help_string($any_parameter); 

Und dann definieren Sie Ihre Funktion:

function get_dynamic_help_string($any_parameter) { 
$text = This is my dynamic help text with the current date: ; 
$text .= ' '.date("Y/m/d"); 
return $text; } 

Nun wird jedes Mal, wenn Sie das Formular zu aktualisieren, wird der Hilfetext dynamisch erstellt werden. Natürlich können Sie hier jede Logik verwenden, wenn Sie möchten.

Hinweis: Sie müssen hier den Cache Ihres Plugins verwalten, um immer das neueste Ergebnis Ihrer Funktion zu erhalten. Bitte beachten Sie diese link zum Löschen des Moodle-Cache.

Verwandte Themen