spAddViewFunction
发布于:2022-01-17 09:50:54
#1 zxyphp
spAddViewFunction('date_s','date');
这个函数怎么用啊。 文档没看明白
我直接注册 date 函数给 SMARTY 不行啊 ,或者在 SMARTY 里面
不会调用 date_s()函数 。
2010-01-21 17:26:27
#2 zxyphp
<{$one.time|date_format:"%Y年%m月%d号%H:%M"}>
我知道 SMARTY 可以这么用,
但是我的目的不是为了DATE.
2010-01-21 17:29:09
#3 jake
使用方式以spUrl的注册为例子:
1. spView.php文件40行:spAddViewFunction('spUrl', array(& $this, '__smarty_spUrl'));
这里是通过将$this(view的对象)中的__smarty_spUrl函数注册到smarty,别名是spUrl。请注意,是注册__smarty_spUrl函数,而并非spUrl函数本身。
2.spView.php文件90行,__smarty_spUrl函数的内容。可以看出这个函数只有一个参数$params,这是注册到模板的函数的标准形式。__smarty_spUrl函数内部是将spUrl需要的四个参数,从$params中获取然后再给spUrl函数,最后通过spUrl函数返回的。
3.同样,如果要用将date注册进去,首先要建立一个date_2($params)函数,大致上是:
function date_2($params){
// 内部要将$params转成date需要的参数,请注意$params的几个值,下面还会说明
$format = $params["format"];
$timestamp = $params["timestamp"];
return date($format, $timestamp); // 调用真正的date来返回
}
// 然后可以注册了
spAddViewFunction('date_s','date_2');
在模板中使用是
<{date_s format="Y-m-d" timestamp="1231212323"}>
这里的format和timestamp就对应了$params数组的值。
当然,spUrl是将一个已经实例化的对象的成员函数注册进去的。
将函数注册到模板是Smarty的高级功能,详细可以参考smarty手册
http://bbs.php.cn/Smarty/api.register.function.html
2010-01-21 21:09:48
#4 setlt
很详细,支持!
2010-01-22 21:22:53
#5 skyzong
晕,显示空白
2010-06-12 14:24:56
#6 jake的马甲
smarty空白很多时候就是出错,而且不显示任何出错信息,这点上smarty做得很不好。所以要一段一段代码来检查。
2010-06-12 17:46:38
#7 xpp1000
function utf8Substr($params)
{$str=$params["str"];
$from=$params["from"];
$len=$params["len"];
return return preg_replace('^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*s',
'$1',$str);
}
spAddViewFunction('utf8Substr','utf8Substr');
这样可以了吧,这个程序单独放一个文件还是要放到这个spView.php文件中呀,如果单独放要如何引入呀。
2010-11-11 16:49:33
#8 xpp1000
function utf8Substr($params)
{$str=$params["str"];
$from=$params["from"];
$len=$params["len"];
return return preg_replace('^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*s',
'$1',$str);
}
spAddViewFunction('utf8Substr','utf8Substr');
这样可以了吧,这个程序单独放一个文件还是要放到这个spView.php文件中呀,如果单独放要如何引入呀。
2010-11-11 16:49:54
#9 jake
function utf8Substr($params)
{$str=$params["str"];
$from=$params["from"];
$len=$params["len"];
re ...
xpp1000 发表于 2010-11-11 16:49
在入口文件的require和spRun中间
require(SP_PATH.'/SpeedPHP.php');
//用include或者import引入文件也可以
include(APP_PATH.'/utf8.php');
//直接写在这里也可以
function utf8Substr(){...}
spAddViewFunction('utf8Substr','utf8Substr');
spRun();
2010-11-11 17:00:24
#10 xpp1000
date_default_timezone_set('Asia/Chongqing');
define("SP_PATH",dirname(__FILE__)."/SpeedPHP");
define("APP_PATH",dirname(__FILE__)."/Park");
define("titles", "_厂房出租|厂房出售|园区招商_中工招商网
");
define("urls", "http://www.zhaoshang800.com/");
define("keywords", "经纪人,厂房,工业园区");
$spConfig = array(
/*'url' => array(
'url_path_base' => "/changfan/changfan.php"),*///二级目录专用
"db" => array(
'host' => '',
'login' => '',
'password' => '',
'database' => '',
),
'url' => array( // URL设置
'url_path_info' => TRUE,//FALSE, // 是否使用path_info方式的URL
'url_path_base' => '', // URL的根目录访问地址,默认为空则是入口文件index.php
),
'view' => array(
'enabled' => TRUE, // Smarty
'config' =>array(
'template_dir' => APP_PATH.'/tpl', // ģŵĿ¼
'compile_dir' => APP_PATH.'/tmp', // ʱĿ¼
'cache_dir' => APP_PATH.'/tmp', // ʱĿ¼
'left_delimiter' => '<{', // smarty
'right_delimiter' => '}>', // smarty
),
),
'mode'=>'running'
);
function utf8Substr($params)
{$str=$params["str"];
$from=$params["from"];
$len=$params["len"];
return preg_replace('^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*s',
'$1',$str);
}
spAddViewFunction('utf8Substr','utf8Substr');
require(SP_PATH."/SpeedPHP.php");
spRun();
2011-01-27 11:21:31
#11 xpp1000
这样程序报错,执行不了,郁闷
2011-01-27 11:21:48
#12 jake
require(SP_PATH."/SpeedPHP.php");
spAddViewFunction('utf8Substr','utf8Substr');
spRun();
http://speedphp.com/post/interaction-run.html
2011-01-27 12:24:37
#13 elick
很好 很详细 正好用到这里了
2011-07-12 15:14:38
#14 sp初学者
讲的和仔细!支持!:P
2012-08-27 14:34:53
#15 xpp1000
请教一个问题,如何用自定义标签呀,我要通过用户ID得到用户的信息,可能全站通用如何做
2013-02-11 13:22:23
#16 jake
xpp1000 发表于 2013-2-11 13:22
请教一个问题,如何用自定义标签呀,我要通过用户ID得到用户的信息,可能全站通用如何做 ...
自定义标签就是模板函数
2013-02-11 22:43:58
#17 h42rfd2xz
网上真钱海洋之星游戏平台推荐,网上真人海洋之星游戏网站! 你的网上生意能够日赚十万吗!
澳门网上真****娱乐平台,政府信誉担保! 记住爱拼才会赢,日赚10万 日赚100万,你也有机会搞到!
http://www.baijialeyx.net 信誉好玩家多,是男人都喜欢! 点击注册!
网上生意为什么难做,如何实现日赚10万 日赚100万!
http://www.baijialeyx.net 记住爱拼才会赢!
飞禽走兽游戏
飞禽走兽游戏机
海洋之星游戏
真人美女发牌各种真****游戏任你选择!
100万提现5分钟到账!
金鲨银鲨游戏机
金鲨银鲨游戏
2014-02-11 22:55:16