簡體   English   中英

具有配置文件字段的Joomla自定義注冊腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM