Codeigniter – View predlošci

Prije ovoga tutoriala potrebno je baciti oko na ovu objavu.

U CI kontroler return string je ono što je prikazano vizualno u internet pregledniku.

class HelloController extends BaseController
{
    public function index()
    {
         return "ja sam tekst prikazan u pregledniku!"; 
    }
}

View funkciju zovemo da učitamo template (html predložak) iz “app/View” direktorija.

class HelloController extends BaseController
{
    public function index()
    {
		return view("moja-view-datoteka.php");    
	}
}

Ili ako imamo pod-direktorij “app/View/header”

class HelloController extends BaseController
{
    public function index()
    {
		return view("header/moja-view-datoteka.php");    
	}
}

Kako prenosimo podatke iz kontrolera u predložak?

Podatke prenosimo iz kontrolera u predložak preko asocijativnog array-a.

class HelloController extends BaseController
{
    public function index()
    {
		$viewData = [
			'alpha' => 'alpha text',
			'beta' => 'beta text',
		];    
    
		return view("moja-view-datoteka.php", $viewData);    
	}
}

moja-view-datoteka.php

<?php echo $alpha ?>
<br>
<?php echo $beta ?>

U pregledniku dobivamo:

alpha text
beta text

Možemo li imati html komponente? Da.

Imamo “main” predložak. I u njemu postavljamo varijable predloška.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    
	<title><?= $this->renderSection("title"); ?></title>
		
  </head>
  <body>	  
	  
	  <?= $this->renderSection("body"); ?>
	
  </body>
</html>

Znači ovdje imamo dvije varijable predloška: “title” i “body”. Budući da kontroler return može vratiti samo jedan predložak, moramo uvesti “main” predložak i onda postaviti podatke u varijable.

<!-- uvezi main.php  -->
<?=$this->extend("main")?> 

<!-- postavi naslov -->
<?=$this->section("title")?>
	Moj naslov stranice
<?=$this->endSection()?>

<!-- postavi body sadržaj -->
<?=$this->section("body")?>
	<?php echo $alpha ?>
	<br>
	<?php echo $beta ?>
<?=$this->endSection()?>  

Kako do public JS/CSS poveznica?

<link rel="stylsheet" href="<?= base_url('public/css/style.css') ?>"/>

Odgovori

Vaša adresa e-pošte neće biti objavljena.

Previous post CodeIgniter – POST Zahtjev
Next post Codeigniter – Model