Php 如何在不修改joomla core文件的情况下扩展注册字段

Php 如何在不修改joomla core文件的情况下扩展注册字段,php,joomla1.7,Php,Joomla1.7,我正在使用joomla 1.7。我希望在不修改核心文件的情况下扩展注册字段或添加自定义字段。 以后我会升级到新版本,不会影响改动。 有人能帮我吗?这是很多人问的关于乔姆拉的问题之一。扩展注册域不是一件简单的事情。你可以破解核心代码,但这不是一个好主意 Jomla扩展目录中有一些扩展可以帮助您。另一种方法是安装Seblod,这是一种CCK,它允许您扩展Joomla中的所有字段/表单(http://www.seblod.com)这是很多人问的关于乔姆拉的问题之一。扩展注册域不是一件简单的事情。你可以

我正在使用joomla 1.7。我希望在不修改核心文件的情况下扩展注册字段或添加自定义字段。 以后我会升级到新版本,不会影响改动。
有人能帮我吗?

这是很多人问的关于乔姆拉的问题之一。扩展注册域不是一件简单的事情。你可以破解核心代码,但这不是一个好主意


Jomla扩展目录中有一些扩展可以帮助您。另一种方法是安装Seblod,这是一种CCK,它允许您扩展Joomla中的所有字段/表单(http://www.seblod.com)这是很多人问的关于乔姆拉的问题之一。扩展注册域不是一件简单的事情。你可以破解核心代码,但这不是一个好主意


Jomla扩展目录中有一些扩展可以帮助您。另一种方法是安装Seblod,这是一种CCK,它允许您扩展Joomla中的所有字段/表单(http://www.seblod.com).

我没有使用此扩展名,但它似乎可以扩展您的注册并允许自定义字段,而无需修改joomla core文件

它还与Joomla 1.7和2.5兼容,因此升级时不会有问题


我还没有使用此扩展,但它似乎可以扩展您的注册,并允许自定义字段,而无需修改joomla core文件

它还与Joomla 1.7和2.5兼容,因此升级时不会有问题


这并不太难,也不需要破解内核。关于1.6+最酷的事情之一是扩展注册字段相对容易

这里有一个来源:

另一种方法(有点相同)是进入插件/用户。其中应该有一个名为“profile”的文件夹

  • 复制它并称之为不同的东西…说你的个人资料
  • 用文本编辑器打开文件并更改引用,使其引用“yourprofile”而不是“profile”
  • 编辑PHP和XML文件,这样您只需添加所需的字段,但可以使用其中的内容对您想要完成的工作进行建模(例如,需要选择字段?重命名它们并删除其他字段)
  • 安装它(或者使用“Discover”,或者将它放入tmp文件夹并从tmp安装,或者压缩并上传)并启用它
  • 诅咒因为你错过了什么而出错,回去换衣服
  • 重复
  • 完成了

需要注意的是,这种方法似乎不起作用的是一种强制要求特定字段的方法。joomlacode中有一个补丁,但我无法让它工作,许多其他人似乎也有问题(尽管其他人说它工作得很好)。

它不太难-也没有必要破解内核。关于1.6+最酷的事情之一是扩展注册字段相对容易

这里有一个来源:

另一种方法(有点相同)是进入插件/用户。其中应该有一个名为“profile”的文件夹

  • 复制它并称之为不同的东西…说你的个人资料
  • 用文本编辑器打开文件并更改引用,使其引用“yourprofile”而不是“profile”
  • 编辑PHP和XML文件,这样您只需添加所需的字段,但可以使用其中的内容对您想要完成的工作进行建模(例如,需要选择字段?重命名它们并删除其他字段)
  • 安装它(或者使用“Discover”,或者将它放入tmp文件夹并从tmp安装,或者压缩并上传)并启用它
  • 诅咒因为你错过了什么而出错,回去换衣服
  • 重复
  • 完成了

需要注意的是,这种方法似乎不起作用的是一种强制要求特定字段的方法。joomlacode中有一个补丁,但我无法让它工作,许多其他人似乎也有问题(尽管其他人说它工作得很好)。

如果要将新数据保存到用户表,很容易:

编辑管理员/components/com_用户/models/forms/user.xml并添加新字段,然后修改数据库,以便用户表可以接受新数据。就这样

定制注册更加困难。首先,创建一个插件并查找“onUser”函数

通过从目录中转到
(管理员)->扩展->管理->安装来加载插件,然后通过转到
(管理员)->扩展->插件->(选择您的)->启用来激活插件


使用
onUserAfterSave()
保存信息,使用
onContentPrepareData()
加载信息。例如:
onContentPrepareData
将设置
$data->yournowfield
,而
onUserAfterSave
将获取
$user['yournowfield']
并将其存储到数据库(或其他什么地方)。

如果要将新数据保存到users表中,很容易:

编辑管理员/components/com_用户/models/forms/user.xml
并添加新字段,然后修改数据库,以便用户表可以接受新数据。就这样

定制注册更加困难。首先,创建一个插件并查找“onUser”函数

通过从目录中转到
(管理员)->扩展->管理->安装来加载插件,然后通过转到
(管理员)->扩展->插件->(选择您的)->启用来激活插件

使用
onUserAfterSave()
保存信息,使用
onContentPrepareData()
加载信息。例如:
onContentPrepareData
将设置
$data->yournowfield
,而
onUserAfterSave
将获取
$user['yournowfield']
并将其存储到数据库中(或诸如此类)。

非常简单:

激活内置i