方维购物分享系统模板二次开发说明
方维分享系统插件店铺:http://shop103612611.taobao.com/
方维分享系统学习交流:http://www.cnblogs.com/wangtongphp/category/467802.html
方维购物分享的定制化开发 http://wwwbuild.net/
方维分享系统的测试 http://fanwe.wwwbuild.net/
方维购物分享系统使用教程 http://download.csdn.net/detail/chenlongphp/5196665
有需求,请联系博主QQ:1006440989
core/service 目录:服务文件
文件命名格式:类名 + .service.php 如 userinfo. service.php(类名小写)
类命名格式:类名 + Service 如 UserInfoService(类名英文首字母大写)
引用方式 $service = FS(‘UserInfo’);
core/module目录:页面显示操作文件
文件命名格式:类名 + . module.php 如 userinfo. module.php(类名小写)
类命名格式:类名 + Service 如 UserInfoModule(类名英文首字母大写)
引用方式 FM(‘UserInfo’)-> reg();
或
require fimport('module/userinfo ');
UserInfoModule::reg();
core/class 目录:类文件
文件命名格式:类名 + . class.php 如 userinfo. class.php(类名小写)
类命名格式:类名英文首字母大写 如 UserInfo
引用方式 require fimport(‘class/userinfo ');
$class = new UserInfo();
core/include目录:引用执行文件
文件命名格式:类名 + .inc.php 如 userinfo. inc.php(类名小写)
引用方式 require fimport(‘include/userinfo ');
core/cache目录:缓存方法执行文件
文件命名格式:名称 + . cache.php 如 setting.cache.php(名称小写)
执行函数命名:bindCache + 名称 如bindCacheSetting (名称英文首字母大写)
加载缓存方式:
//页面初始化时加载
require dirname(__FILE__).'/core/service/fanwe.service.php';
$fanwe = &FanweService::instance();
$fanwe->cache_list[] = ' setting';
$fanwe->initialize();
//程序中加载
FanweService::instance()->cache->loadCache('setting ');
调用缓存方式:global $_FANWE;
$_FANWE[‘cache’][‘setting’]
core/dynamic目录:页面动态执行文件
文件命名格式:名称 + .dynamic.php 如 index. dynamic.php(名称小写)
程序会根据 MODULE_NAME 进行引用
core/language目录:语言包
文件命名格式:名称 + .lang.php 如 index.lang.php(名称小写)
其中的 template.lang.php 为模板中调用的语言包,
如果设置模板 tpl\模板名\ template.lang.php ,将覆盖自动 core/ language 下的语言包设置
程序调用方式:$test = lang(‘文件名’,’键名’); 例 $test = lang(‘index’,’home’);
函数格式:
function funHandle ()
{
…….
}
变量格式:
$var_id = ‘abc’; (命名以_分隔)
分页
程序: $pager = buildPage('模块/操作',查询参数数组,总数,当前页,分页大小);
例 链接 book.php?action=index&cid=10&sort=hot
$page_args = array();
$page_args[‘cid’] = ‘10’;
$page_args[‘sort’] = ‘hot’;
$pager = buildPage('book/index',$page_args,100,$_FANWE['page'],10);
模板
<div class="pagination">
<!--{subtemplate inc/pages}-->
</div>
core\function\global.func.php 为公共函数文件
core\function\time.func.php 为时间函数文件
全局变量说明:
FANWE_ROOT 站点根目录路径
PUBLIC_ROOT 站点 public 目录路径
TPL_PATH 站点 当前模板 路径
TMPL 站点 当前模板
SITE_URL 当前网站相对路径 如果在根目录刚为 / 二级目录则为 /abc
-------------------------------------------------------------
模板中可直接使用 $_FANWE 变量,方法中 先使用 global $_FANWE;引用
$_FANWE['uid'] 当前会员编号,未登陆为0
$_FANWE['user_name'] 当前会员名称,未登陆为空
$_FANWE['gid'] 当前会员组,未登陆为游客 6
$_FANWE['client_ip'] 客户端IP
$_FANWE['site_url'] 当前网站地址如 http://www.baidu.com/
$_FANWE['site_root'] 当前网站相对路径 如果在根目录刚为 / 二级目录则为 /abc
$_FANWE['config'] 当前站点配置文件 public/config.global.php 中的设置
$_FANWE['setting'] 当前站点配置 数据表 sys_conf 中的相关设置 键名为小写 例: $_FANWE['setting'] ['site_name']
$_FANWE['user'] 当前登陆会员的信息
$_FANWE['cookie'] cookie 信息
$_FANWE['cache'] 缓存信息
AJAX服务处理
//统一放到 services/module下
格式为 services/module/模块/操作.php
例 services\module\user\login.php
Ajax调用地址 SITE_PATH + "services/service.php?m=user&a= login"
模板标签说明:
标签 |
例子 |
说明 |
<?php …… ?> |
<?php echo ‘test’; ?> |
模板中执行程序语句 |
{if $a > $b} {elseif $a < $b} {else} {/if} |
|
if判断 |
{loop $list $item} {/loop} |
{loop $users $user} 用户名:{$user['name ']} {/loop} |
foreach循环 |
{loop $list $key $item} {/loop} |
{loop $users $user_index $user} 会员{$user_index }:{$user['name ']} {/loop}
|
foreach循环,带键名 |
{ template 模板路径} |
{template inc/header} |
引用模板,单独生成引用模板的结构缓存文件 |
{ subtemplate模板路径} |
{subtemplate inc/header} |
引用模板,与当前页面一起生成缓存文件。 不单独生成引用模板的结构缓存文件 |
{css 数组或css路径} |
<?php $current_css[] = './tpl/css/reset.css'; $current_css[] = './tpl/css/base.css'; ?> <link rel="stylesheet" type="text/css" href="{css $current_css}" media="all"/> ----------------------------------------------- <?php $css_list[0]['url'][] = './tpl/css/general.css'; $css_list[0]['url'][] = './tpl/css/book.css'; ?> <!--{loop $css_list $css}--> <link rel="stylesheet" type="text/css" href="{css $css['url']}" /> <!--{/loop}-->
|
返回引用的css路径,多个css,将合并,且生成缓存文件 |
{script 数组或js路径} |
<?php $default_js[] = './public/js/lang.js'; $default_js[] = './public/js/setting.js'; ?> <script type="text/javascript" src="{script $default_js}"></script> -------------------------------------------------------------------- <?php $js_list[0] = './tpl/js/book.js'; ?> <!--{loop $js_list $js}--> <script type="text/javascript" src="{script $js}"></script> <!--{/loop}--> |
返回引用的js路径,多个js,将合并,且生成缓存文件 |
{lang键名} |
{lang search_tips} |
调用模板语言包(template.lang.php) |
{lang文件名/键名} |
{lang index/home} |
调用其他语言包 |
{echo 参数} |
{echo $abc} {echo fun($a)} {echo lang('user', 'name_'.$key) } 输出语言 |
输出字符串 |
{sprint 语言键名 参数} {sprint 语言键名 参数1,参数2} |
<?php $a = 123; $b = 567; ?> {sprintf search_tips $abc} {sprintf search_tips $a,$b} |
格式化文本 |
{ nl2br 内容} |
{ nl2br $abc} |
将换行转换为<br/> |
{getimg 图片路径 宽 高} |
{getimg $data['img'] 100 100} |
根据路径获取指定大小的图片 分享图片专用 |
{date 时间} {date 时间 格式} |
{data $data['create_time']} {data $data['create_time'] Y-m-d } |
格式化时间,默认格式为 2011-09-09 12:00:00 |
{avatar 会员编号 类型 是否返回路径} |
{avatar $uid} {avatar $uid s} {avatar $uid s 1} |
返回会员头像 类型:s 小图;m 中图;b 大图 返回路径:0(默认)返回图片 <img …/> 1:返回图片路径 |
{ cutstr 文本 长度 后缀} |
{cutstr $test 80} {cutstr $test 80 …} |
返回指定数量的文本 |
{u 模块/操作} {u 模块/操作 参数} |
{u user/login} {u user/setting uid=$abc} {u user/setting uid=$abc,uid1=$abc1} |
返回格式化的url链接 |
{eval ..} |
{eval $abc = '123'} |
执行简单语句 |
{dynamic 方法} {dynamic 方法 args=参数} |
{dynamic getHeadTopDynamic} {dynamic getHeadTopDynamic args=123} {dynamic getHeadTopDynamic args=$a} {dynamic getHeadTopDynamic args=$a,$b} |
模板页执行方法,获取动态内容
(见:core/dynamic目录:页面动态执行文件) |
{getuser 会员编号 是否显示图标 类型 样式 模板} |
(会员编号可是数据,或者变量) {getuser 123 0} 显示会员123的文字链接 {getuser 123 1} 显示会员123的文字链接,带达人或买家认证图标 {getuser $uid 0} 显示会员$uid的文字链接 {getuser $uid 1} 显示会员$uid的文字链接,带达人或买家认证图标 {getuser $uid 0 '' 'cssName1 cssName2'} 显示会员$uid的文字链接,链接加上cssName1 cssName2 样式
(显示会员图片 类型可为 s 小图32x32; m 中图 64x64; b 大图 160x160) {getuser $uid 0 's'} 显示会员$uid的图片链接 {getuser $uid 0 's,48'} 显示会员$uid的图片链接,图片宽度为48 {getuser $uid 0 's,36' ',imgClass1 imgClass2'} 显示会员$uid的图片链接,图片宽度为36,图片样式为 imgClass1 imgClass2
{getuser $uid 0 's,48' 'linkClass1 linkClass2,imgClass1 imgClass2'} 显示会员$uid的图片链接,图片宽度为48,图片样式为 imgClass1 imgClass2,文字链接样式为 linkClass1 linkClass2
(使用模板显示会员信息) {getuser $uid 0 '' '' 'inc/getuser/test'}使用模板 inc/getuser/test.htm 显示会员信息 模板中的会员变量为 $user |
根据id格式化会员,鼠标经过弹出会员信息框 |
{getfollow会员编号 模板} |
模板中 $is_follow 为关注的状态 -1 为当前登陆会员自己,1为已关注,0为未关注
{getuser $uid 'inc/getfollow/test'}使用模板 inc/getfollow/test.htm 显示是否关注此会员 |
显示是否关注会员 |