1 (800) 474-9640
[email protected]
  • Client Support
  • EN
  • FR
  • PL
EnovationEnovationEnovationEnovation
1 (800) 474-9640
  • WHAT WE DO
    • OUR SERVICES
      • Consultancy
      • Training
      • Hosting
      • Content Creation
      • Build & Design
      • Support & Maintenance
    • OUR SOLUTIONS
      • Totara’s Talent Experience Platform
        • Totara Learn
        • Totara Engage
        • Totara Perform
      • Aura Talent
      • Moodle
      • Moodle Workplace
  • WHO WE ARE
    • About Enovation
    • O Enovation
  • CASE STUDIES
    • UDG Healthcare
    • Mercury Engineering
    • Tata Chemicals Europe
    • Aer Lingus
    • Sagemcom
    • HVACRedu
  • OUR PARTNERS
    • Microsoft Teams
    • IntelliBoard
    • BigBlueButton
  • #KeepLearningStrong
  • INSIGHTS
  • CONTACT US
    • Skontaktuj się z nami

How to modify Moodle form elements before displaying the form

    Home Blog How to modify Moodle form elements before displaying the form

    How to modify Moodle form elements before displaying the form

    Greg Adamowicz | Blog, News | 3 June, 2014

    Forms in Moodle are both easy and hard to deal with. Easy, when you stick to standard form elements, without any solution specific modifications or design changes. And hard, when you have to break with standards or do some specific things with data.

    We’re going to look into how to modify form elements before form is rendered on clients browser. Specifically, when you need to check or uncheck an element under some condition that not necessary is handled by Moodle code.

    Moodle is giving you a definition_after_data method for manipulating displayed data or form elements, like checking or unchecking checkboxes, setting different default values etc.

    Enough talking, let’s see sample code for block configuration definition:

    [sourcecode language=”php”]
    class block_yourblock_edit_form extends block_edit_form {
    protected function specific_definition($mform) {

    $mform->addElement(‘header’, ‘general’, ‘Header’);
    $mform->addElement(‘advcheckbox’, "config_checkbox", $repository->name);
    $mform->setType("config_checkbox", PARAM_BOOL);

    $mform->addElement(‘text’, ‘config_text’, ‘Some text input’);

    } // specific_definition

    public function definition_after_data() {
    parent::definition_after_data();

    $mform =& $this->_form;
    $config_text =& $mform->getElement(‘config_text’);
    $config_checkbox =& $mform->getElement(‘config_checkbox’);

    if (isset($config_checkbox->_attributes[‘checked’])) {
    $config_text->attributes[‘value’] = "The checkbox is checked";
    } // if

    } // definition_after_data
    } // class
    [/sourcecode]

    definition_after_data() method must call parent method before start manipulating form data. This method is available in all form classes (see formslib.php in lib directory) and it’s called after definition(), data submission and set_data().

    We found it a great way to manipulate form when form is dependent on the form values or unusual conditions.

    Another useful hint for manipulating group of elements using definition_after_data:

    [sourcecode language=”php”]$group_of_elements =& $mform->getElement(‘some_group_of_elements’)->getElements();[/sourcecode]

    You can also experiment with element visibility, adding css, etc.

    Next Previous
    Moodle+

    Related Post

    • Hybrid Working: The Future of Work

      Emma Cronin | News | 9 June, 2021

      Hybrid Working seems to be the buzzword of the moment for obvious reasons. While we (try to) avoid the term ” the new normal” as much as possible, it does appears that hybrid is growingRead more

    • Moodle Resources

      Enovation Admin | Blog, eLearning, Enovation News, Events, Featured News, Media, Moodle, News | 13 May, 2021

      What is a Resource? A resource is an item that a teacher can use to support learning, such as a file or link. Moodle supports a range of resource types that teachers can add toRead more

    • Moodle Activities

      Enovation Admin | Blog, eLearning, Enovation News, Events, Featured News, Media, Moodle, News | 19 March, 2021

        For those of you who aren’t familiar with Moodle terminology, an activity is a general name for a group of features in a Moodle course. Usually, an activity is something that a student willRead more

    • Our 2020 Highlights-It’s been quite a year!

      Enovation Admin | Blog, eLearning, Enovation News, Featured News, News | 31 December, 2020

      2020 is a year that we will never forget. We have adapted to new ways of working and together we have come through this challenging time by working together. Although it has been a difficultRead more

    • Manage multiple learning environments from a single installation with Moodle Workplace 3.9.2

      Enovation Admin | Blog, eLearning, Enovation News, Featured News, Moodle, News | 19 October, 2020

      The latest version of Moodle’s corporate LMS takes multi-tenancy one step further with the new shared space, shared programs and shared certifications. Moodle Workplace is our learning management system designed to create collaborative learning experiencesRead more

    NextPrevious

    Latest Insights

    • Wiodący Partner Premium Moodle, Enovation Rozszerza Działalność na Polskę
      16 February, 2022
      Comments Off on Wiodący Partner Premium Moodle, Enovation Rozszerza Działalność na Polskę

      Wiodący Partner Premium Moodle, Enovation Rozszerza Działalność na Polskę

    • 28 June, 2021
      Comments Off on Hybrid Work: Performance Appraisal

      Hybrid Work: Performance Appraisal

    • 28 June, 2021
      Comments Off on Hybrid Work: Training in the age of Hybrid Work

      Hybrid Work: Training in the age of Hybrid Work

    • 9 June, 2021
      Comments Off on Hybrid Working: The Future of Work

      Hybrid Working: The Future of Work

    Archives

    • February 2022
    • June 2021
    • May 2021
    • April 2021
    • March 2021
    • February 2021
    • January 2021
    • December 2020
    • October 2020
    • September 2020
    • July 2020
    • June 2020
    • May 2020
    • April 2020
    • March 2020
    • February 2020
    • January 2020
    • November 2019
    • October 2019
    • September 2019
    • August 2019
    • July 2019
    • June 2019
    • May 2019
    • March 2019
    • January 2019
    • December 2018
    • October 2018
    • September 2018
    • July 2018
    • June 2018
    • May 2018
    • April 2018
    • March 2018
    • February 2018
    • January 2018
    • November 2017
    • October 2017
    • September 2017
    • August 2017
    • July 2017
    • June 2017
    • May 2017
    • April 2017
    • March 2017
    • January 2017
    • November 2016
    • October 2016
    • June 2016
    • March 2016
    • February 2016
    • January 2016
    • December 2015
    • November 2015
    • October 2015
    • September 2015
    • July 2015
    • June 2015
    • May 2015
    • March 2015
    • February 2015
    • January 2015
    • December 2014
    • November 2014
    • September 2014
    • June 2014
    • May 2014
    • January 2014
    • August 2013
    • April 2013
    • March 2013
    • February 2013
    • September 2012
    • July 2012
    • May 2012
    • April 2012
    • February 2012
    • December 2011
    • November 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010

    Sign up for our newsletter today to receive free hints and tips straight to your inbox.

      Enovation Square

      Enovation Solutions Ltd.,
      T: +1 800-474-9640

      Partners & Certifications

      Totara Partner Logo

      Latest Insights

      • Wiodący Partner Premium Moodle, Enovation Rozszerza Działalność na Polskę

        Wiodący Partner Premium Moodle, Enovation Rozszerza Działalność na Polskę

        Enovation jest wielokrotnie nagradzanym i certyfikowanym dostawcą usług Moodle w Irlandii oraz

        16 February, 2022
      • Hybrid Work: Performance Appraisal

        Managers say that some of the challenges of remote and hybrid work

        28 June, 2021
      • Hybrid Work: Training in the age of Hybrid Work

        The rising popularity of hybrid work has most HR and L&D departments

        28 June, 2021

      Latest Tweets

      Tweets by @EnovationUSA
      • Legal Information
      © 2022 Enovation Your eLearning Partner
      • WHAT WE DO
        • OUR SERVICES
          • Consultancy
          • Training
          • Hosting
          • Content Creation
          • Build & Design
          • Support & Maintenance
        • OUR SOLUTIONS
          • Totara’s Talent Experience Platform
            • Totara Learn
            • Totara Engage
            • Totara Perform
          • Aura Talent
          • Moodle
          • Moodle Workplace
      • WHO WE ARE
        • About Enovation
        • O Enovation
      • CASE STUDIES
        • UDG Healthcare
        • Mercury Engineering
        • Tata Chemicals Europe
        • Aer Lingus
        • Sagemcom
        • HVACRedu
      • OUR PARTNERS
        • Microsoft Teams
        • IntelliBoard
        • BigBlueButton
      • #KeepLearningStrong
      • INSIGHTS
      • CONTACT US
        • Skontaktuj się z nami
      Enovation
      1 (800) 474-9640