- 管理者/コンポーネント/com_virtuemart/classses/ps_shopper.php
「return true」行の前に、関数 add() で次のコードを追加する必要があります。
/ * ** * ** * ** * ** * ** * ** * ** * ** * *** ** * ** * ** * ** * ** * ** * ** * ** / $pwd = $_POST['password'];
$db = JFactory::getDBO();
$query = "SELECT id, name, email, username"
. "\n FROM #__users"
. "\n ORDER by id DESC LIMIT 1"
;
$db->setQuery( $query );
$rows = $db->loadObjectList();
$namee = $rows[0]->name;
$emaill = $rows[0]->email;
$usern = $rows[0]->username;
$pwd;
$lid = $rows[0]->id;
$dbv = new ps_DB;
echo $query = "SELECT *"
. "\n FROM #__{vm}_user_info"
. "\n WHERE user_id=$lid"
;
$dbv->setQuery( $query );
$fid = $db->loadObjectList();
$field = $fid[0]->extra_field_1;
$user = clone(JFactory::getUser());
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if ($usersConfig->get('allowUserRegistration') == '0') {
JError::raiseError( 403, JText::_( 'Access Forbidden' ));
return false;
}
// If user activation is turned on, we need to set the activation information
$useractivation = $usersConfig->get( 'useractivation' );
if ($useractivation == '1')
{
jimport('joomla.user.helper');
$user->set('activation', md5( JUserHelper::genRandomPassword()) );
$user->set('block', '1');
}
$component = 'com_user';
$activation_link = $mosConfig_live_site."/index.php?option=$component&task=activate&activation=".$user->get('activation');
$this->_sendMail( $namee , $emaill, $usern, $pwd, $activation_link);
/************************************************** Spinz ********************************************/
注 : ここでは、ユーザーのメールへのユーザー名とパスワードのメール機能を作成しました。
- 管理者/コンポーネント/com_virtuemart/classses/ps_shopper.php
「return true」行の前に、関数 register_save() の行にコメントを付ける必要があります。
// Send the registration email
//$this->_sendMail( $name, $email, $username, $password, $activation_link );
注: ここで生成されたメール関数は、そのメール関数をコメントし、最初のポイントの ps_shopper.php の add() 関数で別のメール関数を作成する必要があります。
- 管理者/コンポーネント/com_virtuemart/classses/ps_shopper.php
次のコードを使用して、関数 _sendmail() の jos_vm_user_info テーブルに追加の追加フィールド (extra_field_1) を取得し、そのフィールドをメールでユーザーに送信する必要があります。
/****************************************************************/
$db = JFactory::getDBO();
$query = "SELECT id, name, email, username"
. "\n FROM #__users"
. "\n ORDER by id DESC LIMIT 1"
;
$db->setQuery( $query );
$rows = $db->loadObjectList();
$lid = $rows[0]->id;
$dbv = new ps_DB;
$query = "SELECT *"
. "\n FROM #__{vm}_user_info"
. "\n WHERE user_id=$lid"
;
$dbv->setQuery( $query );
$fid = $db->loadObjectList();
$field = $fid[0]->extra_field_1;
$subject = sprintf ($VM_LANG->_('SEND_SUB',false), $name, $mosConfig_sitename);
$subject = vmHtmlEntityDecode($subject, ENT_QUOTES);
if ($mosConfig_useractivation=="1"){
$message = sprintf ($VM_LANG->_('USEND_MSG_ACTIVATE',false), $name, $mosConfig_sitename, $activation_link, $mosConfig_live_site, $username, $pwd, $field );
} else {
$message = sprintf ($VM_LANG->_('PHPSHOP_USER_SEND_REGISTRATION_DETAILS',false), $name, $mosConfig_sitename, $mosConfig_live_site, $username, $pwd, $field);
}
/ * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** /
ノート :
変数「$field」を初期化し、クエリを使用して追加のフィールド値を取得します。次に、追加のフィールド値がメールのメッセージ セクションによって割り当てられます。
管理者/コンポーネント/com_virtuemart/言語/共通/英語
次のコードのメッセージを置き換えます。
- 'USEND_MSG_ACTIVATE' => '%s さん、こんにちは。
%s に登録していただきありがとうございます。アカウントが作成され、使用する前にアクティブ化する必要があります。アカウントを有効にするには、次のリンクをクリックするか、ブラウザにコピーして貼り付けます: %s
アクティベーション後、次のユーザー名とパスワードを使用して %s にログインできます:
ユーザー名 - %s パスワード - %s 学位 - %s'
2.'PHPSHOP_USER_SEND_REGISTRATION_DETAILS' => '%s さん、こんにちは。
%s に登録していただきありがとうございます。お客様のアカウントが作成されました。次のユーザー名とパスワードを使用して %s にログインできます:
ユーザー名 - %s パスワード - %s 学位 - %s ' 注:
言語ファイル内の文字列 %s によって割り当てられた追加の値。
美徳マートで余分に追加されたフィールド値の文字列値を持つメッセージ。
度は、追加された追加フィールドを示します