2014-03-05 49 views
0

我有一个Joomla的自注册脚本和它的作品没有问题,但现在我想添加像地址和细胞数一些“轮廓”字段。的Joomla与个人资料栏自定义注册脚本

这是我的代码:

<?php 
if($_POST["name"] || $_POST["email"] || $_POST["username"] || $_POST["password"]){ 
    define('_JEXEC', 1); 
    define('JPATH_BASE', dirname(__FILE__)); 
    define('DS', DIRECTORY_SEPARATOR); 
    require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
    require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

    $app = JFactory::getApplication('site'); 
    $app->initialise(); 
    require_once(JPATH_BASE.DS.'components'.DS.'com_users'.DS.'models'.DS.'registration.php'); 

    $lang = JFactory::getLanguage(); 
    $extension = 'com_users'; 
    $base_dir = JPATH_SITE; 
    $language_tag = 'it-IT'; 
    $reload = true; 
    $lang->load($extension, $base_dir, $language_tag, $reload); 

    $model = new UsersModelRegistration(); 
    jimport('joomla.mail.helper'); 
    jimport('joomla.user.helper'); 

    $username = $_POST['username']; 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $block = '0'; 
    $sendEmail = '1'; 
    $activation = ''; 
    $data = array('username' => $username, 
    'name' => $name, 
    'email1' => $email, 
    'password1' => $password, // First password field 
    'password2' => $password, // Confirm password field 
    'sendEmail' => $sendEmail, 
    'activation' => $activation, 
    'block' => 0); 
     echo $model->register($data); 
} 
?> 

我已经添加以下代码:

'profile.address1' => $indirizzo, 
    'profile.city' => $citta, 
    'profile.phone' => $cellulare, 

,但它不工作...

我如何可以添加个人资料数据库字段到这个注册脚本?

感谢所有。

回答

0

对于初学者,我强烈建议使用joomla的Jinput来检索请求数据,而不是POST。你可以在这个here找到更多的信息。

profile您使用的是不工作,因为对象是不是背着你想要的数据。根据您的joomla版本检查$indirizzo, $citta, $cellulare所属的位置,并访问拥有它们的对象。

我建议实例化$user对象,然后检索你想要的东西$user = JFactory::getUser();。这些链接将帮助您Accessing the current user objectJFactory/getUser

+0

中的链接没有任何提及个人资料栏位。 我加'$配置= JUserHelper :: getProfile($用户> ID);'我可以读取用户领域,但我不能创建新的ID字段到user_profiles分贝。 – Kerberos