Note:

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

How to create a YUI 3 module: Difference between revisions

From MoodleDocs
Line 35: Line 35:
   }
   }


4. Call your first modul. It is better if it's in a php renderer script
4. Call this module. It is better if it's in a php renderer script


     $this->page->requires->js_init_call('M.local_hub.init'); //or $PAGE->requires->... if it's in not in a renderer
     $this->page->requires->js_init_call('M.local_hub.init'); //or $PAGE->requires->... if it's in not in a renderer
You should now have loaded and called your first YUI 3 module in Moodle.

Revision as of 15:28, 17 August 2010

This document explain how to create a YUI 3 module in Moodle.

The two ways to write a YUI 3 module

  • create a static module like /rating/module.js. It is the easiest and quickest way. You choose this way because...
  • create a flexible and extendable module like /mod/glossary/yui/autolinker/autolinker.js. It is the hard way. You choose this way because...

The static module

1. Create a module.js file somewhere

2. The two way Moodle can load this file are:

a- the file is in core: declare the file into /lib/outputrequirementslib.php/find_module($component)

         //example:
         case 'core_rating':
                   $module = array('name'     => 'core_rating',
                                   'fullpath' => '/rating/module.js',
                                   'requires' => array('node', 'event', 'overlay', 'io', 'json'));

b- the file is in a local plugin: the first line of your module should be

M.local_xxx = {

xxx being your plugin directory name.

3. Write a first module

 M.local_hub={
   Y : null,
   transaction : [],
   init : function(Y){
       alert('hub module initialisation');
       this.Y = Y;
   },
 }

4. Call this module. It is better if it's in a php renderer script

   $this->page->requires->js_init_call('M.local_hub.init'); //or $PAGE->requires->... if it's in not in a renderer

You should now have loaded and called your first YUI 3 module in Moodle.