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

时间:2012-03-21 06:41:36

标签: php joomla1.7

我正在使用joomla 1.7。我想扩展注册字段或添加自定义字段而不修改核心文件。 将来我会升级到新版本,它不会影响更改。 有人可以帮帮我吗?

6 个答案:

答案 0 :(得分:2)

非常简单:

激活内置的“User-Profile”插件并进行配置(仅限J1.6 +)。 这为注册表单和用户配置文件添加了许多额外的字段。 您可能需要修改插件的语言文件,以将某些字段名称更改为套件。

答案 1 :(得分:1)

这不是太难 - 而且没有必要破解核心。关于1.6+的一个非常酷的事情是扩展注册领域相对容易。

这是一个来源: http://www.joellipman.com/articles/web-development/joomla-cms/28-tutorials/499-creating-a-profile-plugin-for-joomla-16.html

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

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

一个警告 - 似乎没有使用此方法的方法是强制需要特定字段的方法。在joomlacode中有一个补丁,但是我无法使其工作,而且其他许多人似乎也有问题(尽管其他人说它工作正常)。

答案 2 :(得分:1)

您可以使用您需要攻击的核心文件的副本并将其保存到模板中。除了着名的“模板覆盖”之外别无其他。当你这样做时,你升级Joomla时不会丢失你的黑客。请查看http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_corehttp://docs.joomla.org/Understanding_Output_Overrides。希望它有用。

答案 3 :(得分:0)

这是许多人对Joomla提出的问题之一。扩展注册字段并不是一件简单的事情。你可以破解核心代码,但这不是一个好主意。

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

答案 4 :(得分:0)

我没有使用此扩展程序,但看起来它会扩展您的注册并允许自定义字段而不修改joomla核心文件。

它也与Joomla 1.7和2.5兼容,因此您可以轻松升级。

http://extensions.joomla.org/extensions/access-a-security/site-access/authentication/14303

答案 5 :(得分:0)

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

编辑administrator/components/com_users/models/forms/user.xml并添加新字段,然后修改数据库,以便users表可以接受新数据。就是这样。

定制注册更加困难。作为起点,创建一个插件并查找“onUser”函​​数。

从目录转到(administrator)->Extensions->Manage->install加载插件,然后转到(administrator)->Extensions->Plugins->(choose yours)->Enable

激活它

使用onUserAfterSave()保存信息,onContentPrepareData()加载信息。例如:onContentPrepareData会设置$data->yourNewFieldonUserAfterSave会设置$user['yourNewField']并将其存储到数据库(或其他)。