This article describes in detail the steps of CI framework integration smarty. Share it with everyone for your reference, the details are as follows:
Ci combined with smarty configuration steps:
1. The first step is to configure ci and download the smarty template. I like to use this version (Smarty-3.1.8).
2. In the second step, unzip the downloaded smarty version and rename the libs file inside to smarty, then copy this file to the ciapplicationlibraries directory
3. Create a file under the ciapplicationlibraries directory. The file name can be customized. For example, see a tp.php document.
4. Open tp.php with a compiler and write the following code:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); require_once('smarty/smarty.class.php'); class Tp extends Smarty{ function tp(){ parent::Smarty(); $this->template_dir = APPPATH.'views'; $this->compile_dir = APPPATH.'templates_c/'; $this->left_delimiter = '<{'; $this->right_delimiter = '}>'; } }
5. Create a ciapplicationtemplates_c folder
6. Open the ciapplicationconfigautoload.php file
$autoload['libraries'] = array();
changed to:
$autoload['libraries'] = array('database','tp');
OK our configuration has been successful here, let’s start testing
The first step in testing is to create a controller:
1. Create a file named ceshi.php under applicationcontrollers, with file content
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Home extends CI_Controller { function __construct() { parent::__construct(); $this->load->helper('url'); $this->tp->assign('base_url', base_url()); //定义css以及js的路径 } function index() { $this->tp->assign("title","恭喜你smarty安装成功!"); $this->tp->assign("body","欢迎使用smarty模板引擎"); $arr = array(1=>'zhang',2=>'xing',3=>'wang'); $this->tp->assign("myarray",$arr); $this->tp->display('ceshi.html'); } }
2. Create a template file. Create a file named ceshi.html in the ciapplicationviews directory. The content of the file is
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src='<!--{$base_url}-->js/jQuery.min.js' type='text/JavaScript' ></script> <link href="<!--{$base_url}-->css/login.css" rel="stylesheet" type="text/css" /> <title>smarty安装测试</title> </head> <body> <h1><{$title}></h1> <p><{$body}></p> <ul> <{foreach from=$myarray item=v}> <li><{$v}></li> <{/foreach}> </ul> </body> </html>
Finally enter the address http://localhost/ci/application/index.php/ceshi (the idea ci represents the root directory where you place the files in the ci framework). After running, you will see that you have successfully configured smarty. page, the integration and testing of ci and smarty are completed here
Readers who are interested in more CodeIgniter-related content can check out the special topics of this site: "Basic Tutorial for Getting Started with Smarty Templates", "Introductory Tutorial for CodeIgniter", "Advanced Tutorial for CI (CodeIgniter) Framework", "Summary of Excellent PHP Development Framework" ", "ThinkPHP introductory tutorial", "ThinkPHP common methods summary", "Zend FrameWork framework introductory tutorial", "php object-oriented programming introductory tutorial", "php mysql database operation introductory tutorial" and "php common database operation skills summary"
I hope this article will be helpful to everyone’s PHP program design based on the CodeIgniter framework.