Version CI : 2.1.4 // La dernière version en ce moment
Version Smarty : Smarty-2.6.26 // Parce que j'ai déjà utilisé cette version, afin de prendre soin de mes propres habitudes d'utilisation, je l'ai fait N'utilisez pas la dernière version de Smaty ici, tout le monde comprend le principe d'extension et peut choisir la version de Smatry qu'il souhaite utiliser.
1. Téléchargez le package de code source Smarty depuis le site correspondant ; // J'utilise Smarty-2.6.26 ici
2. Copiez le dossier libs dans le package de code source dans le CI. projet Dans le dossier bibliothèques sous le répertoire, renommez-le en Smarty-2.6.26; //
3. Créez un nouveau fichier Cismarty.php dans le dossier bibliothèques du répertoire du projet, avec le contenu suivant :
<?php if(!defined('BASEPATH')) EXIT('No direct script asscess allowed'); require_once( APPPATH . 'libraries/Smarty-2.6.26/libs/Smarty.class.php' ); class Cismarty extends Smarty { protected $ci; public function __construct(){ $this->ci = & get_instance(); $this->ci->load->config('smarty');//加载smarty的配置文件 //获取相关的配置项 $this->template_dir = $this->ci->config->item('template_dir'); $this->complie_dir = $this->ci->config->item('compile_dir'); $this->cache_dir = $this->ci->config->item('cache_dir'); $this->config_dir = $this->ci->config->item('config_dir'); $this->template_ext = $this->ci->config->item('template_ext'); $this->caching = $this->ci->config->item('caching'); $this->cache_lifetime = $this->ci->config->item('lefttime'); } }
4. Créez un nouveau fichier smarty.php dans le dossier config du répertoire du projet. Le contenu est le suivant :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); $config['theme'] = 'default'; $config['template_dir'] = APPPATH . 'views'; $config['compile_dir'] = FCPATH . 'templates_c'; $config['cache_dir'] = FCPATH . 'cache'; $config['config_dir'] = FCPATH . 'configs'; $config['template_ext'] = '.html'; $config['caching'] = false; $config['lefttime'] = 60;
5. un nouveau fichier dans le répertoire où se trouve le fichier d'entrée. Dossiers templates_c, cache, configs
6. Recherchez le fichier autoload.php dans le répertoire config sous le répertoire du projet
Modifiez ceci
. $autoload['libraries'] = array('Cismarty ');//Le but est : laisser le système se charger automatiquement lorsqu'il est en cours d'exécution, sans avoir à le charger manuellement dans le contrôleur
7 . Créez un nouveau fichier MY_Controller.php dans le dossier core du répertoire du projet comme suit : // Classe de contrôle de base étendue
<?php if (!defined('BASEPATH')) exit('No direct access allowed.'); class MY_Controller extends CI_Controller { // 原文这里写错 public function __construct() { parent::__construct(); } public function assign($key,$val) { $this->cismarty->assign($key,$val); } public function display($html) { $this->cismarty->display($html); } }
Configuration terminée
-. ----------------- --------------------------------- ----------------- --------------------------------- ----------------- -------------------------------
Exemple d'utilisation :
Dans le contrôleur, tel que :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Welcome extends MY_Controller { // 原文这里写错 public function index() { //$this->load->view('welcome_message'); $data['title'] = '标题'; $data['num'] = '123456789'; //$this->cismarty->assign('data',$data); // 亦可 $this->assign('data',$data); $this->assign('tmp','hello'); //$this->cismarty->display('test.html'); // 亦可 $this->display('test.html'); } }
Puis dans la vue : le dossier vue se trouve sous vues dans le répertoire du projet :
Nouveau fichier test. html
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>{ $test.title}</title> // 原文是 <title>{$test['title']}</title>,是错误的写法,也有可能是Smarty版本的原因 <style type="text/css"> </style> </head> <body> {$test.num|md5} // 原文这里也写错了 <br> {$tmp} </body> </html>
Cet article s'adresse à : http://www.php.cn/php-weizijiaocheng-377484.html
Apprendre programmation sur le site Web chinois PHP www.php.cn
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!