Die addHelpButton() Methode hat den Parameter $ Komponente, die den aktuellen Text enthält gezeigt werden, wenn sie auf das Hilfesymbol () 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.
können Sie einen Code bereitstellen? – dios231
Woher soll der dynamische Text kommen? Die Datenbank? Soll es sofort berechnet werden (aktuelles Datum, irgendeine URL)? –
Ja, dynamischer Text sollte aus der Datenbank kommen. –