Jomsocial - 如何在Jomoscial注册的第一页添加额外字段

时间:2011-04-14 06:35:20

标签: joomla

我正在努力破解默认的Jomsocial Registration.Problem是,如果您看到默认的jomsocial注册页面,它具有默认核心joomla注册页面中的所有字段。名称,用户名,E-邮件,密码,验证密码。

但是我想在这个jomsocial页面上添加一个额外的字段。现在如果我使用自定义配置文件添加一个额外的字段,那么用户必须单击下一步并转到下一页,这是一个漫长的过程,并给我高跳出率用户注册。

那么请你就此向我提出建议,还有一件事就是如果我们在Joomla默认注册页面中添加一个字段它将自动进入jomsocial第一页..

如果有人可以帮助我解决这个问题,那将会很感激。

3 个答案:

答案 0 :(得分:3)

您可以按照以下流程在第一页上添加自定义注册字段(与joomla 2.5配合使用):

步骤1:您必须添加该字段以使其显示在第一页(前端)上,然后转到components \ com_community \ templates \ default \ register.index.php

现在只需将字段添加为其他字段,例如(将FIELD作为要添加的字段名称)

请参阅此处的示例:Click Here!

您可以复制并粘贴其他字段详细信息然后自行编辑,标签标签显示标签将如何显示在前端,输入字段显示输入字段,您可以调整大小,但不应更改id,name(收集数据时需要的名称)和值(除了用新的字段名称替换以前的字段名称之外的其他地方!),可以根据需要编辑类,比如删除'required'将使字段可选填充,如果要使用某些脚本为输入的值验证字段,则使用validate-FIELD; span用于显示错误消息...现在,当您添加字段以使其显示在首页,你必须做一些工作,以便在提交表单时实际将数据带到数据库!所以我们去---

步骤2:提交表单时,数据不存储在prefix_users表中,但会创建一个存储临时信息的对象,然后将其存储在com_community \ models \ register.php中,现在更改对象并添加一个字段,以便对象也包含我们字段的值,我们必须在其中添加一行,您将看到像

这样的代码
    $obj = new stdClass();
    $obj->name          = $data['jsname'];
    $obj->firstname     = isset( $data['jsfirstname'] ) ? $data['jsfirstname'] : '';
    $obj->lastname      = isset( $data['jslastname'] ) ? $data['jslastname'] : '';
    $obj->token         = $token;
    $obj->username      = $data['jsusername'];
    $obj->FIELD                 = $data['jsFIELD'];
    $obj->email         = $data['jsemail'];
    $obj->password      = $data['jspassword'];
    $obj->created       = $nowDate;
    $obj->ip            = isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? 

在上面的代码中,在第7行我添加了我的字段,以便在提交表单时对象也存储我们的字段,现在我们必须在表中添加一个字段,实际存储该对象片刻,该表是prefix_community_register

表格就像 -

    1       id           int(10)      
    2   token        varchar(200)
    3   name         varchar(255)
    4   firstname    varchar(180)
    5   lastname     varchar(180)   
    6   username     varchar(150)   
    7   email        varchar(100)   
    8   password     varchar(100)   
    9   created      datetime       
    10  ip       varchar(25)        
    11  FIELD        int(11)    

表的第11个字段是我们要添加的字段,它必须与对象内的字段具有相同的名称(例如,如果对象具有$ obj-> age,则表中字段的名称必须为'也是'年龄'!),所以现在最后我们需要在prefix_users表中永久存储相同的数据,因此在表中创建一个具有相同名称和属性的字段,当注册完成时,该值将存储在用户中也可以在任何地方使用该字段;)

答案 1 :(得分:0)

转到管理员 - >组件 - > Jom social - >自定义配置文件 - >新领域。

在这里,您可以轻松添加新字段.. !!

我认为它会对你有所帮助.. !!

答案 2 :(得分:0)

我实际上使用的是Jom Social和Joomla。我已经使用了它们很长一段时间,这里是这个问题答案的链接。

我不确定它是否在3.0 JomSocial中有所改变,但这应该有所帮助。 Jomsocial Custom Profile - Display email used on first page of registration onto the second page of registration

另请注意,您始终可以创建自己的注册页面,然后允许用户从其编辑个人资料页面填写次要个人资料信息。登录后,只需重定向到编辑个人资料。

用于构建自定义表单的好组件是http://fabrikar.com

希望此信息有所帮助