这是关于我再次修补以查看此修改是否有效:
我修改了 Mage/Checkout/Model/Observer.php:
public function salesQuoteSaveAfter($observer)
{
$quote = $observer->getEvent()->getQuote();
Start of added code --- > $post = Mage::app()->getRequest()->getPost();//Mage::app()->getRequest()->getPost();
if(isset($post['shipping']['email'])){
if(isset($_SESSION['emailadd'])){
unset($_SESSION['emailadd']);
$_SESSION['emailadd'] = 'test2@mail.com';//$post['shipping']['email'];
}else{
$_SESSION['emailadd'] = 'test@mail.com';//$post['shipping']['email'];
}
}else{
if(isset($_SESSION['emailadd'])){
unset($_SESSION['emailadd']);
$_SESSION['emailadd'] = 'test3@mail.com';//$post['shipping']['email'];
}else{
$_SESSION['emailadd'] = 'test4@mail.com';//$post['shipping']['email'];
}
} <--End of added code;
/* @var $quote Mage_Sales_Model_Quote */
if ($quote->getIsCheckoutCart()) {
Mage::getSingleton('checkout/session')->getQuoteId($quote->getId());
}
}
问题是这段代码:没有返回任何设置 session['emailadd'] = test4@mail.com
$post = Mage::app()->getRequest()->getPost();
如果我的代码使用了错误的方法,如何添加一个在发送数据库中的数据之前调用的 salesQuoteSaveBefore() 方法?在这样做之前是否有要配置的 XML?
因为首先我的目标只是从 onepage/checkout 输入中获取输入数据或发布数据,特别是 shipping[email] 输入,不要告诉我没有,因为有:
<li>
<div class="input-box">
<label for="shipping:emailadd"><?php echo $this->__('Email Address') ?> <span class="required">*</span></label><br />
<input type="text" name="shipping['email']" id="shipping:emailadd" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="validate-email required-entry input-text" />
</div>
<div class="input-box">
<label for="shipping:emailadd"><?php echo $this->__('Confirm Email') ?> <span class="required">*</span></label><br />
<input type="text" name="shipping[emailconfirm]" id="shipping:emailconfirm" value="<?php echo $this->htmlEscape($this->getAddress()->getEmail()) ?>" title="<?php echo $this->__('Email Address') ?>" class="validate-email required-entry input-text" />
</div>
</li>
我想要得到的只是这一个单一的 shipping[email] 输入,它有点问题,因为我已经坚持了很长时间。但是在提交单页/结帐后,我找不到获得其价值的方法。
任何帮助,将不胜感激。