Book Image

Moodle JavaScript Cookbook

Book Image

Moodle JavaScript Cookbook

Overview of this book

Moodle is the best e-learning solution on the block and is revolutionizing courses on the Web. Using JavaScript in Moodle is very useful to administrators and dynamic developers as it uses built-in libraries to provide the modern and dynamic experience that is expected by web users today.The Moodle JavaScript Cookbook will take you through the basics of combining Moodle with JavaScript and its various libraries and explain how JavaScript can be used along with Moodle. It will explain how to integrate Yahoo! User Interface Library (YUI) with Moodle. YUI will be the main focus of the book, and is the key to implementing modern, dynamic feature-rich interfaces to help your users get a more satisfying and productive Moodle experience. It will enable you to add effects, make forms more responsive, use AJAX and animation, all to create a richer user experience. You will be able to work through a range of YUI features, such as pulling in and displaying information from other websites, enhancing existing UI elements to make users' lives easier, and even how to add animation to your pages for a nice finishing touch.
Table of Contents (15 chapters)
Moodle JavaScript Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Loading YUI 2 modules from YUI 3


There can be several reasons why we would want to load YUI 2 modules from within YUI 3. We may have a substantial amount of pre-written YUI 2 code that we wish to use straight away, saving us the trouble of rewriting it from scratch. Another reason may be, as in this book, we wish to use features of the YUI 2 that have not yet been re-implemented as native YUI 3 modules.

In this recipe, we will learn how to load YUI 2 modules from within YUI 3 by loading the Calendar widget from YUI 2, inside a native YUI 3 script.

Getting ready

We begin by creating a new PHP file yui_cal.php in the cook directory with the following content:

<?php
require_once(dirname(__FILE__) . '/../config.php');
$PAGE->set_context(get_context_instance(CONTEXT_SYSTEM));
$PAGE->set_url('/cook/yui_cal.php');
$PAGE->requires->js('/cook/yui_cal.js');
echo $OUTPUT->header();
?>
<div id="calContainer"></div>
<?php
echo $OUTPUT->footer();
?>

You will notice...