我正在使用joomla 1.7。我想扩展注册字段或添加自定义字段而不修改核心文件。 将来我会升级到新版本,它不会影响更改。 有人可以帮帮我吗?
答案 0 :(得分:2)
非常简单:
激活内置的“User-Profile”插件并进行配置(仅限J1.6 +)。 这为注册表单和用户配置文件添加了许多额外的字段。 您可能需要修改插件的语言文件,以将某些字段名称更改为套件。
答案 1 :(得分:1)
这不是太难 - 而且没有必要破解核心。关于1.6+的一个非常酷的事情是扩展注册领域相对容易。
另一种方式(有点相同)是进入插件/用户。应该有一个名为“profile”的文件夹
一个警告 - 似乎没有使用此方法的方法是强制需要特定字段的方法。在joomlacode中有一个补丁,但是我无法使其工作,而且其他许多人似乎也有问题(尽管其他人说它工作正常)。
答案 2 :(得分:1)
您可以使用您需要攻击的核心文件的副本并将其保存到模板中。除了着名的“模板覆盖”之外别无其他。当你这样做时,你升级Joomla时不会丢失你的黑客。请查看http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core和http://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->yourNewField
,onUserAfterSave
会设置$user['yourNewField']
并将其存储到数据库(或其他)。