2 changes need to be made to do that.
First a new key has to be added to the email template parser to get the new value from the database.
Open inc/classes/BxDolEmailTemplates.php
At about line 121 you need to add a new line to the parseContent function as shown in bold green below.
function parseContent($sContent, $aKeys, $iMemberId = 0) {
$aResultKeys = $this->aDefaultKeys;
if($iMemberId != 0) {
$aProfile = getProfileInfo($iMemberId);
$aResultKeys = array_merge($aResultKeys, array(
'recipientID' => $aProfile['ID'],
'RealName' => $aProfile['NickName'],
'NickName' => $aProfile['NickName'],
'Email' => $aProfile['Email'],
'Password' => $aProfile['Password'],
'SiteName' => getParam('site_title'),
'MyNewTemplateKey' => $aProfile['MyNewProfileField'],
));
}
if(is_array($aKeys))
$aResultKeys = array_merge($aResultKeys, $aKeys);
return $GLOBALS['oSysTemplate']->parseHtmlByContent($sContent, $aResultKeys, array('<', '>'));
}
MyNewTemplateKey is the key used in the template that will be replaced with the data when the template is parsed. Use whatever name you want to call the key here.
MyNewProfileField is the field in the database Profiles table that holds the data to be placed in the key. So use the name of the field as it appears in the database here.
Save file.
Now you need to edit the template.
Admin->Settings->Email Templates.
Edit the template Profile activation message template.There are 2 of them. The one to edit is the one that has a subject of New user joined
You would add a line to this template providing the key for your new data. Something like this.
Member heard about us from <MyNewTemplateKey>
Save the template. That should do it.