二月 20, 2011 at 7:21 上午
· Filed under joomla文档翻译
准备工作:
需要Joomla 1.6版本,XAMPP本机环境,PHP编辑器
介绍:
Joomla1.6有三个不同应用程序组成:安装程序(用于安装joomla的过程);后台管理程序(管理各种信息);前台程序(显示内容)
安装程序仅使用一次,后台管理和前台部分通过“组件”的概念渲染内容。每个组件都有两个入口点:
- 位于component文件夹(用于显示内容)
- 位于administrator/component文件夹(用于管理内容)
入口文件的名字为:com_组件名/组件名.php
具体步骤如下:
- 开发一个基本的组件
- 添加前台视图
- 为组件前台部分添加一个菜单类型
- 为组件前台部分添加一个数据模型
- 为菜单类型添加一个请求变量
- 使用数据库
- 基本的后台
- 添加语言管理
- 添加后台操作
- 为后台添加装饰
- 添加验证部分
- 添加分类
- 添加配置信息
- 添加权限管理
- 添加安装/卸载/更新脚本文件
- 添加升级服务器
Permalink
二月 20, 2011 at 6:55 上午
· Filed under Joomla
Joomla 1.6与Joomla 1.5在扩充用户额外信息方面相比,越来越简单了,比如为让用户注册时必须填写手机号码,如图所示:

Joomla1.6默认的注册信息只有姓名,用户姓名,密码和邮箱等信息:

那么如何为用户添加手机信息呢,Joomla1.6为大家提供了user profile这个插件作为参考,登录到后台启用该插件如图所示:

启用后,用户注册信息就会出现额外的填写内容,如图所示:

该插件只是作为参考,大家可以更改这些字段,但是为了joomla以后升级的需要,最好不要更改joomla核心文件。
在下一节中将分析user profile插件,并在理解该插件基础上编写一个添加手机号码填写字段的user telephone插件。
Permalink
二月 20, 2011 at 5:53 上午
· Filed under Joomla
下面详细分析为Joomla 1.6用户添加额外信息的插件user profile.
首先,来看一下Joomla1.6新增加的jos_user_profiles数据表,表结构如下:

其中user_id与jos_users的id一一对应,profile_key与profile_value代表一对键值对,比如:profile.telephone="1383314XXXX";
ordering主要用于排序,user profile插件启用后会将额外的用户注册信息存于此表中。
接着分析user profile插件的结构:

其中子文件profiles下的profile.xml为用户相关信息字段描述文件,jform类会将此文件解析为表单。profile.php为插件入口文件,profile.xml为描述插件相关信息的文件,下面着重分析profile,php文件中的plgUserProfile类。
在Joomla中编写插件类时一般应遵守一下命名规则:plg+"插件类型"+“插件名”。
比如编写authertication用户认证方面的插件时,插件类的名字应为:plgAuthentication+"插件名"
Joomla系统自带的插件类型有:
- authentication
- content
- editors
- editors-xtd
- extension
- search
- system
- user
以本文为例应选择user类型,所以user profile插件类名字为:plgUserProfile,该类主要实现了以下成员:
- function onContentPrepareData($context, $data)
- function onContentPrepareForm($form, $data)
- function onUserAfterSave($data, $isNew, $result, $error)
- function onUserAfterDelete($user, $success, $msg)
方法ononContentPrepareData主要提供额外信息,并将额外信息添加到$data变量中 ,其中context代表与用户信息相关的jform的xml描述文件的标记,比如:
com_users.profile,com_users.user,com_users.registration,com_admin.profile
大家感兴趣可在相关组件的models/forms文件夹下寻找相关xml文件
方法onContentPrepareForm($form, $data)主要解析profile.xml文件并将额外用户信息字段添加到上述$context上下文环境中。
方法onUserAfterSave($data, $isNew, $result, $error) 主要保存用户额外信息到jos_user_profiles表中.
方法onUserAfterDelete($user, $success, $msg) 主要用于当删除某一用户时也删除该用户保存在jos_user_profiles中的额外信息。
Permalink
二月 5, 2011 at 11:50 上午
· Filed under Joomla
JsRain旨在总结Joomla使用过程中的心得,与大家分享,希望能跟大家一起推进Joomla的发展,将五星红旗插在Joomla官方网站上。
JsRain主题是在Copyblogger主题的基础上修改的,在此感谢Copyblogger主题的作者,Thank You.谢谢Tom.com,原谅我的“拿来主义”,背景图片感觉很喜庆,希望能见谅。
最后感谢
sneezry小窝窝,从你身上找回了梦想。
Permalink