Hello I just started working with CodeIgniter framework. My current directory structure is
Demo(Project name)
+System
+Application
-Controllers
demo.php
+Model
-Views
view_demo.php
-Js
ajax.js
jquery.js
Please tell me how to include .js files in view_demo.php.
Thanks Raj
You wouldn't include JS files within the PHP, they would be output as script tags within the HTML you produce which you may be producing as output from the PHP script.
As far as I know, there is no built in CodeIginiter function to include this output like there is for CSS using the
link_tag()
function provided by CI. I've added a function calledscript_tag()
to thesystem/helpers/html_helper.php
file from CI. The function is:Then in your PHP code you can do:
I store my javascript in a subdirectory of my view folder so the file path is relative to the view being called and I omit the base_url().
Another technique I adopted was to define an array of scripts to include in my controller, then loop through the array in my view to include them. This allows me to include specialty js functions only when needed.
Then in the view
If you have script files that get loaded on every page, you can hard code them in your footer view like is described in the other answers.
Check out Phil Sturgeon's CodeIgniter Template Library. We use a modified version of it at work. http://philsturgeon.co.uk/code/codeigniter-template
The $data variable sometimes may be lost if you have nested views and you don't pass it as an argument to the children/nested views.
I found a simple solution that is working very smoothly to me:
In your current view file you setup your script like this:
$this->scripts[] = '/js/myscript.js';
at your footer or {whatever.php} file you insert this code:
If you need only a pice of javascript code, you can always use anonymous functions like this:
and at the bottom:
You need to use the
base_url()
to include the javascript file in your VIEW.So, in the view_demo.php file:
You will need the URL helper loaded. To load the helper you need to put on your demo.php controller:
You can also autoload on \config\autoload.php on the helpers array.
More info about base_url(): http://www.codeigniter.com/user_guide/helpers/url_helper.html#base_url
Just use the standard:
inside your view! (Not inside the PHP tags, of course.) I don't think the CodeIgniter HTML helper has any functions that you could use as an alternative to writing out the HTML yourself.