Stencil - CodeIgniter 模板引擎


MIT
跨平台
PHP

软件简介

Stencil 是一个 CodeIgniter
的模板引擎,通过简单可靠的方式来渲染 HTML 页面。

控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Home extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->stencil->layout('home_layout');
        $this->stencil->slice('header');
        $this->stencil->slice('footer');
    }

    public function index()
    {
        $this->stencil->title('Home Page');

        $this->stencil->js('some-plugin');
        $this->stencil->js('home-slider');
        $this->stencil->css('home-slider');

        $this->stencil->meta(array(
            'author' => 'Nicholas Cerminara',
            'description' => 'This is the home page of my website!',
            'keywords' => 'stencil, example, fun stuff'
        ));

        $data['welcome_message'] = 'Welcome to my website using Stencil!';
        $this->stencil->paint('home_view', $data);
    }
}

/* End of file home.php */
/* Location: ./application/controllers/home.php */

模板:

<!doctype html>
<html>
<head>
    <!-- robot speak -->    
    <meta charset="utf-8">
    <title><?php echo $title; ?> | My Stencil Website</title>
    <?php echo chrome_frame(); ?>
    <?php echo view_port(); ?>
    <?php echo apple_mobile('black-translucent'); ?>
    <?php echo $meta; ?><!-- //loads data from $this->stencil->meta($args) in controller -->

    <!-- icons and icons and icons and icons and icons -->
    <?php echo favicons(); ?>

    <!-- crayons and paint -->  
    <?php echo add_css(array('bootstrap', 'style')); ?>
    <?php echo $css; ?><!-- //loads data from $this->stencil->css($args) in controller -->

    <!-- magical wizardry -->
    <?php echo jquery('1.9.1'); ?>
    <?php echo shiv(); ?>
    <?php echo add_js(array('bootstrap.min', 'scripts')); ?>
    <?php echo $js; ?><!--  //loads page specific $this->stencil->js($args) from Controller (see docs) -->
</head>
<!-- $body_class will always be the class name -->
<body class="<?php echo $body_class; ?>">

    <header>
        <?php echo $header; ?>
    </header>

    <h1><?php echo $welcome_message; ?></h1>

    <section class="content">
        <?php echo $content; ?><!-- This loads home_view -->
    </section>

    <footer>
        <?php echo $footer; ?>
    </footer>

</body>
</html>