Başka frameworklerde var olan bir durum malesef codeigniter da bulunmamakta ve bu çok büyük bir eksiklik değil. Aslında template(şema) oluşturmanın temeli bulunuyor. Bu classın adı parser. Parser classı aracılığıyla dinamik temamızı oluşturabiliriz. İlk olarak size en temelini anlatıp sonra Parser classını kullanmayı göstereceğim. Temel yapıyı MVC yi frameworksüz kullananlar belkide daha önce düşünmüşlerdir. Temelde amaç bir view dosyasında bütün verilerin akacağı bir yapı oluşturmaktır. Örnek olarak kodlar şu şekilde: View dosyası "template.php": <?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta name="HandheldFriendly" content="True"> <link rel="icon" type="image/png" href="<?php echo base_url('assets/images/favicon.ico') ?>"> <title><?php echo $title ?></title> <meta name="description" content="<?php echo $this -> template -> description ?>"> <meta name="author" content="<?php echo $setting -> companyName ?>"> <?php foreach($metaTags as $metaTag){echo $metaTag;} ?> <!-- ====Main Stylesheet==== --> <link href="<?= base_url('assets/style.css') ?>" rel="stylesheet"> <?php echo (isset($extraCSS)) ? $extraCSS : null; ?> </head> <body> <?php echo $this -> load -> view('navigation'); ?> <?php echo $content; ?> <?php echo $this -> load -> view('footer'); ?> <!-- ==== jQuery ==== --> <script src="<?php echo base_url('assets/js/jquery.min.js'); ?>"></script> <?php echo (isset($extraJS)) ? $extraJS : null; ?> </body> </html> controller dosyası "Main.php": public function index(){ $data=array(base_url('assets/css/extra.css'), base_url('assets/css/custom.css')), 'extraJS'=>array(base_url('assets/js/anasayfa.js'), 'https//baskabirsite.com/assets/js/ornek.js'), 'title'=>'Anasayfa', 'metaTags'=>array('', '')); $this->load->view('template',data); } en temelde bu şekilde bir kod düzeni veya model kullanarak daha da kendinize yönelik bir durum oluşturabilirsiniz. Gelelim Parser classını nasıl kullanacağımıza: controller fonksiyonunuzun içinde aşağıdaki yapıyı koyarak dataları temaya uygun yapabilirsiniz.: $this->load->library('parser'); $data = array( 'blog_title' => 'My Blog Title', 'blog_heading' => 'My Blog Heading', 'blog_entries' => array( array('title' => 'Title 1', 'body' => 'Body 1'), array('title' => 'Title 2', 'body' => 'Body 2'), array('title' => 'Title 3', 'body' => 'Body 3'), array('title' => 'Title 4', 'body' => 'Body 4'), array('title' => 'Title 5', 'body' => 'Body 5') ) ); $this->parser->parse('blog_template', $data); view dosyasıda şu şekilde olmalı: <html> <head> <title>{blog_title}</title> </head> <body> <h3>{blog_heading}</h3> {blog_entries} <h5>{title}</h5> <p>{body}</p> {/blog_entries} </body> </html> Etiketler : codeigniter parser class, codeigniter template, codeigniter tema, codeigniter template kütüphanesi, codeigniter Paylaş!