- 管理員/組件/ com_virtuemart/classses/ps_shopper.php
之前需要 「返回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
需要註釋的功能register_save() 「返回true」 行前行:
// Send the registration email
//$this->_sendMail($name, $email, $username, $password, $activation_link);
注:這裏生成的郵件函數我們需要評論該郵件函數,並在第一點中在ps_shopper.php的add()函數中創建另一個郵件函數。
- administrator/components/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);
}
/* ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ***/
注:
初始化變量 「$場」 獲得使用查詢額外添加的字段值。然後額外的字段值由郵件的消息部分分配(初始化變量$字段,在virtmart中增加一個額外字段的值)。
管理員/組件/ 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。
virtuth中包含額外添加字段值的字符串值的消息。
程度顯示添加額外的字段