Actions

Difference between revisions of "Adding JavaScript"

From Joomla! Documentation

(Adding Javascript Files Using JHTML)
Line 19: Line 19:
 
?>
 
?>
 
</source>
 
</source>
 +
 +
The above code must be added to your template's template.php file.
  
 
==Explanation==
 
==Explanation==

Revision as of 21:39, 14 June 2012

Contents

Adding Javascript


This chunk should describe in detail how to add Javascript to the head of a template using the Joomla! 1.5 API calls. It should be aimed at people who have only minimal knowledge of PHP, HTML and Javascript.

Add the following code to have the Javascript library /media/system/js/sample.js included in your template.

<?php
$document = &JFactory::getDocument();
$document->addScript( '/media/system/js/sample.js' );
?>

The above code must be added to your template's template.php file.

Explanation

Ultimately you are trying to have the resulting HTML page have a Javascript included in the head element (i.e. <head> ... </head>):

For example:

<script type="text/javascript" src="/media/system/js/sample.js"></script>

Ensure that the Javascript you want to include is in the directory, from the above example:

  /media/system/js/sample.js

Load your page into a browser and verify that the <script> tag is in the <head> area and able to load the Javascript. Again, using the example:

  http://www.example.com/media/system/js/sample.js

When successful the script is integrated into your page. Now you can use Javascript in your HTML.

Do not directly add the <script> to your template's index.php. The code will insert the <script> line where your index.php has the following line:

<jdoc:include type="head" />

Add this PHP code to your page, in the head, or next to the Javascript code you will use, depending on your preference.

<?php
$document = &JFactory::getDocument();
$document->addScript( '/media/system/js/sample.js' );
?>

Reload and view the page. Ensure that the sample.js is included in the <head> section.

Adding Javascript Files Using JHTML

You may also use the JHTML script method to add a Javascript file to the head of your document.

<?php
$filename = 'filename.js';
// Add the path parameter if the path is different than 'media/system/js/'
$path = 'path/to/file/';
JHTML::script($filename, $path);
?>

There is a third Boolean argument that can be passed to the script method. Set this to true if you also want MooTools loaded.

<?php
$filename = 'filename.js';
// Add the path parameter if the path is different than 'media/system/js/'
$path = 'path/to/file/';
// MooTools will load if it is not already loaded
JHTML::script($filename, $path, true);
?>

Please Note: Joomla 1.6+ may handle MooTools differently than in previous versions. [1]

References

  1. Whitepaper Upgrade to mootools 1.2