Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

lib/formslib.php setAdvanced: Difference between revisions

From MoodleDocs
No edit summary
Line 1: Line 1:
You can use MoodleQuickForm's method setAdvanced to specify a form element is an advanced option :
You can use MoodleQuickForm's method setAdvanced to specify a form element as an advanced option :


<code>
<code>
Line 15: Line 15:
Will set the header element miscellaneoussettingshdr and all the elements it contains to advanced.
Will set the header element miscellaneoussettingshdr and all the elements it contains to advanced.


And if you set all elements within a header to advanced then the header is automatically set to advanced.
If you set any button in a form to be an advanced item then 'show / hide advanced' buttons are shown automatically in the form. Show / hide buttons are currently displayed at the top right of all fieldsets. The show / hide button shows or hides advanced controls using javascript or if no javascript is available then the whole page is submitted and redisplayed with advanced controls hidden or shown.
 
==moodleform_mod::show_advanced_button()==
 
Shows a button to show or hide the advanced elements in a form. The elements will be unhidden with javascript if it is available or if not then the form will be submitted and redisplayed with the elements shown or hidden as appropriate. The action of the button and label of the button toggle to show advanced elements or hide them.
 
Within moodleform's definition method you call this method like this :
 
<code>
      $this->show_advanced_button();
</code>
 
Typically you will include the button at the top and the bottom of the page by calling the method twice.

Revision as of 06:04, 19 December 2006

You can use MoodleQuickForm's method setAdvanced to specify a form element as an advanced option :

       $mform->addElement('select', 'display', get_string('displaymode', 'choice'), $CHOICE_DISPLAY);
       $mform->setAdvanced('display');

setAdvanced takes a second boolean parameter which defaults to true. True means set this control as an advanced control. False means it is not advanced.

       $mform->addElement('header', 'miscellaneoussettingshdr', get_string('miscellaneoussettings', 'form'));
       $mform->setAdvanced('miscellaneoussettingshdr');

Will set the header element miscellaneoussettingshdr and all the elements it contains to advanced.

If you set any button in a form to be an advanced item then 'show / hide advanced' buttons are shown automatically in the form. Show / hide buttons are currently displayed at the top right of all fieldsets. The show / hide button shows or hides advanced controls using javascript or if no javascript is available then the whole page is submitted and redisplayed with advanced controls hidden or shown.