cc function existed in zend_mail class in lib folder.
public function addCc($email, $name='')
{
if (!is_array($email)) {
$email = array($name => $email);
}
foreach ($email as $n => $recipient) {
$this->_addRecipientAndHeader('Cc', $recipient, is_int($n) ? '' : $n);
}
return $this;
}
For now i just edited core files.but we need to override to our local/community folder.I have created 2 arrays & 4 new functions for cc in info.php
<?php
class Mage_Core_Model_Email_Info extends Varien_Object
{
/**
* Name list of "Bcc" recipients
*
* @var array
*/
protected $_bccNames = array();
protected $_ccNames=array();
/**
* Email list of "Bcc" recipients
*
* @var array
*/
protected $_bccEmails = array();
protected $_ccEmails = array();
/**
* Name list of "To" recipients
*
* @var array
*/
protected $_toNames = array();
/**
* Email list of "To" recipients
*
* @var array
*/
protected $_toEmails = array();
/**
* Add new "Bcc" recipient to current email
*
* @param string $email
* @param string|null $name
* @return Mage_Core_Model_Email_Info
*/
public function addBcc($email, $name = null)
{
array_push($this->_bccNames, $name);
array_push($this->_bccEmails, $email);
return $this;
}
public function addCc($email, $name = null)
{
array_push($this->_ccNames, $name);
array_push($this->_ccEmails, $email);
return $this;
}
/**
* Add new "To" recipient to current email
*
* @param string $email
* @param string|null $name
* @return Mage_Core_Model_Email_Info
*/
public function addTo($email, $name = null)
{
array_push($this->_toNames, $name);
array_push($this->_toEmails, $email);
return $this;
}
/**
* Get the name list of "Bcc" recipients
*
* @return array
*/
public function getBccNames()
{
return $this->_bccNames;
}
/**
* Get the email list of "Bcc" recipients
*
* @return array
*/
public function getBccEmails()
{
return $this->_bccEmails;
}
/**
* Get the name list of "cc" recipients
*
* @return array
*/
public function getccNames()
{
return $this->_ccNames;
}
/**
* Get the email list of "Bcc" recipients
*
* @return array
*/
public function getccEmails()
{
return $this->_ccEmails;
}
/**
* Get the name list of "To" recipients
*
* @return array
*/
public function getToNames()
{
return $this->_toNames;
}
/**
* Get the email list of "To" recipients
*
* @return array
*/
public function getToEmails()
{
return $this->_toEmails;
}
}
In Mage_Core_Model_Email_Template_Mailer
public function send()
{
$emailTemplate = Mage::getModel('core/email_template');
// Send all emails from corresponding list
while (!empty($this->_emailInfos)) {
$emailInfo = array_pop($this->_emailInfos);
// Handle "Bcc" recepients of the current email
$emailTemplate->addBcc($emailInfo->getBccEmails());
$emailTemplate->addCc($emailInfo->getccEmails());
// Set required design parameters and delegate email sending to Mage_Core_Model_Email_Template
$emailTemplate->setDesignConfig(array('area' => 'frontend', 'store' => $this->getStoreId()))
->sendTransactional(
$this->getTemplateId(),
$this->getSender(),
$emailInfo->getToEmails(),
$emailInfo->getToNames(),
$this->getTemplateParams(),
$this->getStoreId()
);
}
return $this;
}
add this function in Mage_Core_Model_Email_Template
public function addCc($cc)
{
if (is_array($cc)) {
foreach ($cc as $email) {
$this->getMail()->addCc($email);
}
}
elseif ($cc) {
$this->getMail()->addCc($cc);
}
return $this;
}
Best Answer
These depend on the type of discount. If they are catalog based (temporary price on the product or a catalog rule under promotions), then look in
Mage_Sales_Model_Order_Item
. All magic setters and getters are documented now.So in your case:
Each of these have a "Base" version. That is the version in the store currency. If you provide the option to sell in other currencies, then base and normal version will differ.