Hi, as a nice addition to our codeigniter tutorials series, I'm back with another article which discusses about CodeIgniter and Bootstrap integration. This will teach you the technique of combining the power of two robust frameworks, PHP CodeIgniter and Twitter Bootstrap. You should properly integrate twitter bootstrap 3 with code igniter framework for it to work. I'm going to assume you are individually acquainted with CodeIgniter and Bootstrap frameworks, so in this tutorial will just show you how to integrate Bootstrap with CodeIgniter by which you can enhance the appearance of your CodeIgniter application.
In case you don't have, download the latest versions of the frameworks from the links given below.
Step-by-Step Instruction for CodeIgniter Bootstrap Integration
STEP-1) First download and extract the PHP CodeIgniter framework zip file to your working folder. Then create a folder named "assets" to keep all your bootstrap files. Just make sure your CodeIgniter folder structure is similar to the below image.
Recommended Read: How to Create Login Form in CodeIgniter, MySQL and Twitter Bootstrap
Recommended Read: How to Create User Registration Form in CodeIgniter, MySQL & Bootstrap
STEP-2) Next extract and move the css, js and fonts folder of Twitter bootstrap CSS to the "assets" folder we have created in STEP-1.
STEP-3) We need jQuery library for the Bootstrap's js plugins to work. So move the jQuery file to the "assests/js" folder.
Now the setup is over. To start using bootstrap in CodeIgniter, we have to include the bootstrap ".css" and ".js" files to CodeIgniter views.
To include the bootstrap css file, add this line above the </head>
tag in the CodeIgniter view file.
<link rel="stylesheet" href="<?php echo base_url("assets/css/bootstrap.css"); ?>" />
Next we have to include js files for which you should add the below code just before the </body>
tag.
<script type="text/javascript" src="<?php echo base_url("assets/js/jQuery-1.10.2.js"); ?>"></script> <script type="text/javascript" src="<?php echo base_url("assets/js/bootstrap.js"); ?>"></script>
Note: Make sure you always add the jQuery library before "bootstrap.js".
Recommended Read: CodeIgniter Bootstrap Tutorial - Read and Display data from MySQL Database
Recommended Read: CodeIgniter Bootstrap: Insert Form Data into Database with Field Validations
Having setup the environment to use Twitter Bootstrap with CodeIgniter, our app is ready for development.
How to Use Bootstrap CSS in CodeIgniter?
Now we have bootstrap files in place. The next question that rise would be where and how to use this bootstrap css in codeigniter?
Well! As I have already said bootstrap is just a ready-made stylesheet but with higher flexibility. You have to include it's css styles in html tags as you would normally do. Just take this example. I have added a simple comment form in codeigniter view.
<div> <?php $attributes = array("name" => "comment-form"); echo form_open("user_comments/submit", $attributes);?> <div class="form-group"> <textarea name="comment" placeholder="Your comments..." rows="4"></textarea> </div> <div class="form-group"> <input type="submit" name="submit" value="Post Comment"> </div> <?php echo form_close(); ?> </div>
As there are no css styles added to beautify the form, it looks plain simple like this,
Next I have included some css classes from bootstrap to this very same form.
<div class="well" style="width:50%; margin: 0 auto;"> <?php $attributes = array("name" => "comment-form"); echo form_open("user_comments/submit", $attributes);?> <div class="form-group"> <textarea name="comment" placeholder="Your comments..." rows="4" class="form-control"></textarea> </div> <div class="form-group"> <input type="submit" name="submit" value="Post Comment" class="btn btn-danger"> </div> <?php echo form_close(); ?> </div>
Boom! The form looks much more pleasing now without writing any of those styles of our own.
Convenient! I think you have got a good idea about bootstrap now. You can customize bootstrap css to your liking without trouble. And to be honest it will take a while for you to get around with bootstrap elements.
For more detailed usage head over to our codeigniter section and start reading. I have used bootstrap css in almost all of my codeigniter tutorials.
Loading Bootstrap CSS via CDN:
Here's the good news. Bootstrap is available in CDN and you don't even have to download it to your own server for using it. Just directly load it from maxcdn like this,
<!DOCTYPE html> <html> <head> <meta content="width=device-width, initial-scale=1.0" name="viewport" > <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" type="text/css" rel="stylesheet" /> </head> <body> ... ... <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" type="text/javascript"></script> </body> </html>
If you use slow server then take advantage of this CDN route for using bootstrap.
I hope you have enjoyed this CodeIgniter Bootstrap Tutorial.
Last-Modified: 14-Nov-2017
Hey. Mine is still not working. I followed the procedure aboce.
ReplyDeleteHey, you need to have the "url" helper loaded in your bootstrap config file.
DeleteOpen /application/config/autoload.php
Find: $autoload['helper'] = array();
Edit to : $autoload['helper'] = array('url');
Should work beter right after.
thank you, it works :)
DeleteHi Kedar,
ReplyDeleteHere are some working examples of using twitter bootstrap framework with codeigniter.
http://www.kodingmadesimple.com/2014/08/how-to-create-login-form-codeigniter-mysql-twitter-bootstrap.html
http://www.kodingmadesimple.com/2014/07/codeigniter-mysql-tutorial-read-display-data-bootstrap.html
Please check them. Let me know if you still had issues.
Keep visiting:)
thanks for sharing pandy
ReplyDeleteYou can enable the URL helper inside the controller
ReplyDelete$this->load->helper('url');
I dont know, why this procedure is not workig for me. I have enabling the URL helper.
ReplyDeleteHi! what's the exact issue you face here? Have you tried testing the bootstrap css classes by using them in view file?
DeleteIf not then try one of these articles,
http://www.kodingmadesimple.com/2014/08/how-to-create-login-form-codeigniter-mysql-twitter-bootstrap.html
http://www.kodingmadesimple.com/2015/03/codeigniter-contact-form-tutorial-email.html
http://www.kodingmadesimple.com/2015/05/codeigniter-database-crud-tutorial-for-beginners-examples.html
They are working examples of bootstrap css with codeigniter.
I had used your method and it is working. However I can't find a way to make offline jquery js file loads without using CDN method. Is there any way?
ReplyDeleteHi, say if my codeigniter app name is 'ciapp', then the base_url() function will produce path like 'http://localhost/ciapp' (if you work in localhost).
DeleteJust make sure you have the assets folder just inside the root folder and follow the rest of the steps. It should work.
Cheers.
Thank you for the reply.
DeleteOf course. I had made it. Its just i wonder which js files that i have to save in my server to run jquery smoothly.
Hi, I have used jQuery-1.10.2.js version in the above example. It works best with bootstrap 3.x version. You can use the same too.
DeleteCheers :-)
its worked... thanks for sharing
ReplyDeleteI'm using Dreamweaver CC 2015 and recently started learning Bootstrap3. Came across this as I was searching for a good way to get into mysql/php with bootstrap as Dreamweaver removed their db panels (not that I wanted to use them anyway as I wanted more 'hands on' coding.) I hadn't heard of CodeIgniter but now have downloaded all and installed on a new domain. Really eager to try these three DW/CI/BS3 along with PHP/MySQL in your tutorials. Thanks!
ReplyDeleteHi! Thanks for your support. I'm glad my blog is providing value to it's readers.
DeleteCheers.
Thanks it solves my problem
ReplyDeleteGlad you found it useful...Cheers.
DeleteThx a lot, you saved me a big time.
ReplyDeleteAlso I needed to change:
Open /application/config/autoload.php
Find: $autoload['helper'] = array();
Edit to : $autoload['helper'] = array('url');
Glad it helps you!
DeleteCheers.
hai.thank u so much for this tutorial.it works!.
ReplyDeleteAwesome. Worked fine
ReplyDeletei have created a controller Home.php. and if the user is loged in how to redirect to home.php
ReplyDeleteYou have to save session and redirect with, redirect("home/index");
DeletePlease refer here Codeigniter login and registration system
Cheers.
Why this does not work with Bootstrap Glyphicons?
ReplyDeletethanks alot worked perfectly
ReplyDeletemine is still not working i've followed the procedures.. and make the assets folder same with the application folder level.. how can i resolve this one .. do i need to change something on my htaccess ?
ReplyDeletehow to access this from the browser?
ReplyDeletelocalhost/codeigniter?? after this??
first im really thank your create great tutorial, but i have a question how i put my admin folder, images folder, and module folder...same put in assets folder ?
ReplyDeleteneed help
ReplyDelete????
Wow, this is a great twitter integration. Boostrap has become so popular. It should be a standard for start ups.
ReplyDeletewhat is view file?
ReplyDelete