[英]Joomla custom registration script with profile fields
我有一個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,
但這行不通...
如何將配置文件數據庫字段添加到此注冊腳本中?
謝謝你
對於初學者,我強烈建議使用joomla的Jinput
檢索請求數據,而不是POST
。 您可以在此處找到更多信息。
您正在使用的profile
無法正常運行,因為對象沒有攜帶您想要的數據。 根據您的joomla版本,檢查$indirizzo, $citta, $cellulare
所屬的位置並訪問包含它們的對象。
我建議實例化$user
對象,然后檢索想要的內容,因此$user = JFactory::getUser();
。 這些鏈接將幫助您訪問當前的用戶對象和JFactory / getUser 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.