CodeIgniter Template Kütüphanesi | Parser Class ile Temel Kullanım
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":
load -> view('navigation'); ?> load -> view('footer'); ?>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ı:
{blog_title} {blog_heading}
{blog_entries} {title}
{body}
{/blog_entries}