2

JUserでこれを行う方法を検索して見つけましたが、スクリプトを試してみると、インクルードファイルが見つからず、サーバーに存在しないと表示されます。これが Joomla 3.0 で異なるかどうかわからないので、助けを求めていました。試したスクリプトは次のとおりです。

<?php
   define( '_JEXEC', 1 );
   define('JPATH_BASE', dirname(__FILE__) );
   define( 'DS', DIRECTORY_SEPARATOR );
   /* Required Files */
   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_ROOT.DS.'components'.DS.'com_users'.DS.'models'.DS.'registration.php';
   require_once JPATH_ROOT.DS.'libraries'.DS.'joomla'.DS.'application'.DS.'component'.DS.'helper.php';
   $model = new UsersModelRegistration();
   jimport('joomla.mail.helper');
   jimport('joomla.user.helper');

   $username = 'jimporttest';
   $name = 'J Port2';
   $email = 'test @ mail.com';
   $password = 'test';
   $data = array( 'username' => $username,
             'name' => $name,
             'email1' => $email,
             'password1' => $password, // First password field
             'password2' => $password, // Confirm password field
             'block' => 0 );
   echo $model->register($data);
?>
4

4 に答える 4

0

>=Joomla 3 の場合、代わりに次のコードを使用する必要があります。「JModel」から「JModelLegacy」に変更。詳細を表示するには、ここをクリックしてください

$data['name'] = $fname . ' ' . $lname;
$data['username'] = $email;
$data['email1'] = $email;
$data['email2'] = $email;
$pwd = substr(md5($email . $fname . time()), 0, 6);
$data['password1'] = $pwd;
$data['password2'] = $pwd;

JFactory::getLanguage()->load('com_users');
JModelLegacy::addIncludePath(JPATH_ROOT . '/components/com_users/models');

$model = JModelLegacy::getInstance('Registration', 'UsersModel');
$return = $model->register($data);
于 2014-10-27T14:30:01.170 に答える
0

これが使用できるコードです。

$data['name'] = $fname . ' ' . $lname;
$data['username'] = $email;
$data['email1'] = $email;
$data['email2'] = $email;
$pwd = substr(md5($email . $fname . time()), 0, 6);
$data['password1'] = $pwd;
$data['password2'] = $pwd;

JFactory::getLanguage()->load('com_users');
JModel::addIncludePath(JPATH_ROOT . '/components/com_users/models');

$model = JModel::getInstance('Registration', 'UsersModel');
$return = $model->register($data);
于 2013-03-25T15:20:18.537 に答える