2014-03-05 73 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