Codeigniter template kütüphanesi Temel Seviye

Codeigniter template kütüphanesi Temel Seviye

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>

 

Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com

Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com

Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com

Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com

Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com

Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com
Codeigniter template kütüphanesi Temel Seviye - bertugfahriozer.com