Codeigniter tutorial Part-2- Creating pages, subpages and passing data from controller

Codeigniter tutorial Part-2- Creating pages, subpages and passing data from controller

Codeigniter 4 is MVC framework,Β  MVC refers to Model, View and Controller. Here controller is used to backend, model is used to manage tables (database). And view used to user interface.

Codeigniter 4 is MVC framework,Β  MVC refers to Model, View and Controller. Here controller is used to backend, model is used to manage tables (database). And view used to user interface.

Step 1:

Modify Home.php in controller.

First divide your page into three sections like header, content and footer.

      
<?php namespace App\Controllers;
      class Home extends BaseController{
            public function index()
            {

                  $data=[
                      'title'=>'Home | CI tutorial'
                  ];

                  echo view('layouts/header',$data);
                  echo view('home');
                  echo view('layouts/footer');
            }
      }
      

Controller file name should be start with uppercase letter and class name should be same as controller file.

Create user interface in views for

echo view('layouts/header',$data);

echo view('layouts/footer');

Β 

Create layouts folder in views and create file header.php Β and footer.php inside that.

Create another page services and create subpages web services and email services under services.


      
<?php namespace App\Controllers;
      class Services extends BaseController
      {
            public function index(){
                  
                  $data=[
                    'title'=>'Services | CI tutorial'
                  ];

                  echo view('layouts/header',$data);
                  echo view('services');
                  echo view('layouts/footer');

            }
      

            public function web_services(){
                  $data=[
                      'title'=>'Web services | CI tutorial'
                  ];
                       
                  echo view('layouts/header',$data);
                  echo view('web_services');
                  echo view('layouts/footer');
            }


            public function email_services(){    

                  $data=[

                        'title'=>'Email services | CI tutorial'

                  ];

                  echo view('layouts/header',$data);
                  echo view('email_services');
                  echo view('layouts/footer');

            }

      } 
      

Β 

Here we can pass data from controller to user interface (views) using an array.

Here I passed title for all pages from controller using array

For example,

Controller

      
$data=[
      'title'=>'Email services | CI tutorial'
];
      

Views



<title><?= $title; ?></title>


Now create view files services.php, web_services.php and email_services.php for services.

Β 

Step 2:

Run your project

This is url for your home page

http://localhost/ci_tutorial/

And

ci_tutorial/index.php/services ci_tutorial/index.php/services/web_services ci_tutorial/index.php/services/email_services

for services page

If you want to run your project without index.php create .htacces file in your root folder like this

and paste this code and save.

      
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
      

Β 

Now you can run project directly without index.php,

ci_tutorial /services ci_tutorial/services/web_services ci_tutorial/services/email_services

Step 3:

Add bootstrap layout and meta tags for your user interface.

paste this inside of head taο»Ώg and

      
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
      

Β 

Paste this before end of the body tag



<script data-src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script data-src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>


Now add bootstrap navigation header after body tag

     
<nav class="navbar navbar-expand-lg navbar-light bg-light">
      <a class="navbar-brand" href="<?= base_url(); ?>">CI Tutorials</a>

      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
      </button>


      <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mr-auto">
                  <li class="nav-item active">
                        <a class="nav-link" href="<?= base_url(); ?>">Home</a>
                  </li>
                  <li class="nav-item">
                        <a class="nav-link" href="<?= base_url('services'); ?>">Services</a>
                  </li>
                  <li class="nav-item">
                        <a class="nav-link" href="<?= base_url('services/web_services'); ?>">Web Services</a>
                  </li>
                  <li class="nav-item">
                        <a class="nav-link" href="<?= base_url('services/email_services'); ?>">Email Services</a>
                  </li>           
            </ul>

            <form class="form-inline my-2 my-lg-0">
                <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
                <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
            </form>
      </div>
</nav>
     

Here base_url(); is your site URL.

Open App.php file inside config folder and define your base url,

public $baseURL = 'http://localhost/ci_tutorial/';

Add base_url(); to tag


<a href="<?= base_url(); ?>">Home</a>

 
Leave a reply
Latest Posts
Whatever the Bishnoi community says, it is difficult for Salman Khan to apologize in the black buck case
Whatever the Bishnoi community says, it is difficult for Salman Khan to apologize in the black buck case

Salman Khan has been advised by the Bishnoi community of Rajasthan to apologize in the blackbuck poaching case - but will the matter end if Salman Khan does so? And will Salman Khan want to take this path?

India Mourns the Loss of Beloved Industrial Icon, Padma Vibhushan Ratan Tata
India Mourns the Loss of Beloved Industrial Icon, Padma Vibhushan Ratan Tata

Ratan Tata will be cremated with full state honours after passing away on Wednesday at the age of 86 in a Mumbai hospital. In addition, Eknath Shinde, the chief minister of Maharashtra, declared a day of mourning for the renowned philanthropist and industrialist on Thursday.

Ratan Tata: The Visionary Who Shaped India's Industrial Future
Ratan Tata: The Visionary Who Shaped India's Industrial Future

Ratan Tata, one of the most respected business leaders in India, has left an indelible mark on the nation’s economy through his visionary leadership and values-driven approach. Born on December 28, 1937, into the Tata family, Ratan Tata is the great-grandson of Jamsetji Tata, the founder of the Tata Group, one of India’s oldest and most prestigious conglomerates. Over the decades, Ratan Tata has taken the group to unprecedented heights, earning admiration globally for his business acumen and ethical leadership.

2024 Ballon d'Or Nominees | Top Football Stars Revealed
2024 Ballon d'Or Nominees | Top Football Stars Revealed

The latest news about the 2024 Ballon d'Or nominees. Updates and details on the top football stars. The most current information on football awards at Sportxeber.az.