WeCenter 二次开发基础说明

上传人:m**** 文档编号:559844093 上传时间:2023-11-20 格式:DOCX 页数:7 大小:14.90KB
返回 下载 相关 举报
WeCenter 二次开发基础说明_第1页
第1页 / 共7页
WeCenter 二次开发基础说明_第2页
第2页 / 共7页
WeCenter 二次开发基础说明_第3页
第3页 / 共7页
WeCenter 二次开发基础说明_第4页
第4页 / 共7页
WeCenter 二次开发基础说明_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《WeCenter 二次开发基础说明》由会员分享,可在线阅读,更多相关《WeCenter 二次开发基础说明(7页珍藏版)》请在金锄头文库上搜索。

1、一. 文件目录结构说明app -应用目录models -模型目录plugins -插件目录static -静态文件system -系统目录views -模板目录二. URL路由WeCenter有一个解析能力强大的URL路由1. 动作访问:/模块名/控制器/动作/IDID 为 id 查询,例: account/login/123,则在 login 控制器中 $_GETid的值为 123(*)如果使用/模块名/控制器/动作/ID格式Query string的使用可以参照兼容性的支持(*)如果动作在main控制器中可以省略,例: account/main/login/等同于account/login

2、/ (*)如果动作名为 index 可以省略,例: account/login/index/ 等同于 account/login/2. Query stringWeCenter的查询字符串为使用分隔参数,使用-为参数赋值,在程序中直接使用$_GET取 出内容常规的:account/login/?return_url = 1 &callback=2WeCenter 的: account/login/return_url-1_callback-2(*)在程序中输出URL请使用get_js_url函数,因为这样会兼容Rewrite是否开启两种情况3. 兼容性的支持下面的几种URL形式在程序中都是被支

3、持的:http:domian/index.php?/question/id-320_column-log_source-doc http:/domian/index.php?/question/320?column = log &source=doc http:/domian/index.php?/question/?id=320&column = lo g& source=doc http:domian/index.php?/question/320?column-log_source-doc http:/domian/index.php?/question/320&column-log_s

4、ource-doc三. 模板命名规则程序中所有模板的存放规则为模块/控制器/动作,如果控制器为main则省略如 account/main/login/ 对应的模板为 views/模板集/account/login.tpl.htm如 account/setting/profile/ 对应的模板为 views/模板集/account/setting/profile.tpl.htm四. 自动引入机制WeCenter类库,Model的使用都是不需要事先引入文件的,这使得在编程过程中变得方便快捷, 也避免了类库重复实例化的问题,但是使用自动引入机制需要遵循下面的规则.(*)所有自动引入的类库都不需要事先

5、实例化,直接使用即可.1. Model放在model目录下,文件名:name.inc.php文件中需要有继承AWS_MODEL的name_class(*)在程序中使用方法:$this-model( name)-action();(*)可用范围:CONTROLLER, Model2. System 类库放在system目录之下,类名相对于system目录,将/换成_例: Zend_Mail路径:system/Zend/Mail.php类名:Zend_Mail(*)在程序中使用方法:new,静态调用,load_class( class_name);(*)可用范围:任意,不需要带参数实例化建议使用l

6、oad_class3. 配置文件放在system/config目录之下,文件内容为一个$config数组,命名为配置名.php(*)在程序中使用方法:AWS_APP:config()-get( 配置名)-数组下标(*)可用范围:任意,不需要带参数实例化建议使用load_class五. 模板机制WeCenter的模板采用继承机制,系统的default为主模板,用户的自定义模板只需要更改很少的文件即可实现程序界面的定制.继承机制原理:当管理员设定了一个newstyle模板,用户访问首页I系统开始查找 views/newstyle/home/index.tpl.htmI找到相应文件找不到文件II读取

7、内容并解析后显示读取 views/default/home/index.tpl.htm建立模板集的方法:1. 在views下面建立模板集目录2. 在static/css/下建立与模板集相同的目录,我们建议从static/css/default/拷贝一份内容到新 建的模板集中,然后开始修改工作.六. 常用开发指导JavaScript:我们使用jQuery作为主要framework,载入的插件有:jQuery Form ( http:/ )AJAX Upload ( http:/ )Valums file Uploader (修改过)jQuery.ScrollTo(*)在Javascript中判断

8、用户是否登录判断全局变量G_USER_ID是否大于0即可(*)全局变量在header模板中(*)所有JS请求URL需要加上G_BASE_URL前缀(*)全局ajax列表函数使用bp_load_morePHP:关于Zend Framwork类库的使用方法请参考官方文档(*)在控制器中判断用户是否登录判断$this-user_id是否大于0即可(*)控制器与模板中始终可用$this-user_id和$this-user_info(*)控制器与Model中禁止使用构造函数,可以用setup()函数替代 (*)程序已经提供了两个中文处理函数cjk_substr和cjk_strlenAccess Rul

9、e: public function get_access_rule()/规则类型/ white: actions里的action全部用户可见,其余action需要登录/ black: actions里的action需要登录,其余action全部用户可见$rule_actionrule_type = white;$rule_actionactions = array(check_usemame,check_email,register_process,login_process,register_agreement,send_valid_mail,valid_email_active,request_find_password,find_password_modify, );return $rule_action;(*)控制器中不加此函数,则所有action必需登录可见模板:(*)在模板可以使用PHP代码,全部静态类与function,但是不能使用Model(*)模板中$this-中的内容是全局通用变量,可以在模板中引入的模板使用,模板内部产生的变量 则不能(*) TPL:output方法第二个参数为false时,内容会返回给变量不会输出,可以利用此方法做JS 调用或者代码重用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号