设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 进阶讨论
›
CI集成Smarty的简单实用方法
返回列表
查看:
3109
|
回复:
3
[Web]
CI集成Smarty的简单实用方法
[复制链接]
feimengv
feimengv
当前离线
积分
458
IP卡
狗仔卡
发表于 2014-4-21 11:40:47
|
显示全部楼层
|
阅读模式
本帖最后由 feimengv 于 2014-4-21 11:45 编辑
1.下载Smarty程序包放到application/librarise文件夹下面下载地址:http://www.onlinedown.net/soft/180811.htm
2.在application/librarise文件夹下面建立Smartys.php建立CI扩展类
PHP
复制代码
if
(
!
defined
(
'BASEPATH'
)
)
exit
(
'No direct script access allowed'
)
;
//调用Smarty核心文件
require_once
(
APPPATH
.
"libraries/smarty/Smarty.class.php"
)
;
//创建和实例化smarty类
class
Smartys
extends
Smarty
{
//保护变量ci
protected
$ci
;
public
function
__construct
(
)
{
//实例化父类
parent
::
__construct
(
)
;
//引用CI的对象
$this
->
ci
=
&
get_instance
(
)
;
//加载smarty并且实例化smarty
$this
->
ci
->
load
->
config
(
'smarty'
)
;
//配置smarty
$this
->
template_dir
=
$this
->
ci
->
config
->
item
(
'template_dir'
)
;
$this
->
compile_dir
=
$this
->
ci
->
config
->
item
(
'compile_dir'
)
;
$this
->
cache_dir
=
$this
->
ci
->
config
->
item
(
'cache_dir'
)
;
$this
->
caching
=
$this
->
ci
->
config
->
item
(
'caching'
)
;
$this
->
cache_lifetime
=
$this
->
ci
->
config
->
item
(
'lefttime'
)
;
$this
->
left_delimiter
=
$this
->
ci
->
config
->
item
(
'left_delimiter'
)
;
$this
->
right_delimiter
=
$this
->
ci
->
config
->
item
(
'right_delimiter'
)
;
}
}
复制代码
3.建立Smarty初始化定义变量文件application/config/smarty.php
PHP
复制代码
if
(
!
defined
(
'BASEPATH'
)
)
exit
(
'No direct script access allowed'
)
;
$config
[
'theme'
]
=
'default'
;
$config
[
'template_dir'
]
=
APPPATH
.
'views'
;
$config
[
'compile_dir'
]
=
APPPATH
.
'templates_c'
;
$config
[
'cache_dir'
]
=
APPPATH
.
'cache'
;
$config
[
'caching'
]
=
false
;
$config
[
'lefttime'
]
=
60
;
$config
[
'left_delimiter'
]
=
"<!--{"
;
$config
[
'right_delimiter'
]
=
"}-->"
;
复制代码
4.追加扩展核心类方法assign和display方法
1.在system/core/Controller.php下面加两个方法
PHP
复制代码
//smarty使用assign方法赋值
public
function
assign
(
$key
,
$val
)
{
$this
->
smartys
->
assign
(
$key
,
$val
)
;
}
//smarty指定引用的模板文件
public
function
display
(
$html
)
{
$this
->
smartys
->
display
(
$html
)
;
}
复制代码
5.启用自动加载Smarty类
application/config/autoload.php
启用自动加载
$autoload['libraries'] = array('Smartys');
6.创建文件夹
templates_c就可以去了,其他使用CI默认的文件夹
7.在模板文件里面就可以调用了
HTML
复制代码
<!DOCTYPE HTML>
<
html
lang
=
"en-US"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
><
/
title
>
<
/
head
>
<
body
>
<
table
border
=
'1'
>
<
thead
>
<
tr
>
<
th
>
用户名
<
/
th
>
<
/
tr
>
<
/
thead
>
<
tbody
>
<!--{foreach $result as $k=>$v}-->
<
tr
>
<
td
>
<!--{$v.username}-->
<
/
td
>
<
/
tr
>
<!--{/foreach}-->
<
/
tbody
>
<
/
table
>
<
/
body
>
<
/
html
>
复制代码
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
xoYu
xoYu
当前离线
积分
88
IP卡
狗仔卡
发表于 2014-5-1 19:17:25
|
显示全部楼层
第四改了框架
应该继承一下
回复
支持
反对
使用道具
举报
显身卡
feimengv
feimengv
当前离线
积分
458
IP卡
狗仔卡
楼主
|
发表于 2014-5-12 12:02:40
|
显示全部楼层
道理是这个道理,但是继承以后,每次饮用类都要写成MY_***,何必不直接类下扩展一下,这样本人感觉更舒服一些!可能就是代码抒写习惯吧
回复
支持
反对
使用道具
举报
显身卡
似月光
似月光
当前离线
积分
377
IP卡
狗仔卡
发表于 2014-5-15 15:00:49
|
显示全部楼层
回复
使用道具
举报
显身卡
还有一些帖子被系统自动隐藏,点此展开
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页