CodeIgniter 模板引擎:Stencil
Stencil 是一个PHP框架 CodeIgniter 的模板引擎,用于以简单、可靠、强大的方式来生成 HTML 页面。
特性:
Layouts
Codeigniter 2.1.3 Ready
Slices
Child Views
Partials
Nested Views
Elements
Includes
HTML5 Helpers
add_css()
add_js()
add_meta()
shiv()
chrome_frame()
view_port()
apple_mobile()
windows_tile()
favicons()
jquery()
asset_url()
Load Page Specific Assets
JS
CSS
Perfect for jQuery Plugins
Slice Callbacks
Run or return a block of code everytime a view is called
Asset Management
Smart Data Binding to Views
$this->stencil->data('key', 'value')
$this->stencil->data(array('key' => 'value'))
控制器:
<?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>
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!