我已经为客户对象引入了自定义EAV属性。我们称之为myvalue。在magento的几个地方,我打印这样的值:
echo Mage::getSingleton('customer/session')->getCustomer()->getMyvalue();
当客户使用PayPal付款时,我希望将myvalue
作为订单号的补充。{1}}。我的意图是将订单与一些店边流程相匹配。
那么,我如何将myvalue
传递给paypal以使其与订单号一起显示?
答案 0 :(得分:3)
您可以尝试将类Mage_Paypal_Block_Standard_Redirect
覆盖为以下内容:
protected function _toHtml()
{
$standard = Mage::getModel('paypal/standard');
//...
foreach ($standard->getStandardCheckoutFormFields() as $field=>$value) {
if ($field == 'REASON_CODE') {
$myvalue = Mage::getSingleton('customer/session')->getCustomer()->getMyvalue();
$value .= $myvalue;
}
$form->addField($field, 'hidden', array('name'=>$field, 'value'=>$value));
}
//...
return $html;
}
我在foreach中添加了一个条件,用您特殊的客户价值来编辑原因。
我不知道你说话的原因是什么代码,如果你不这样做,你可以先在foreach中记录:
Mage::log($field);
Mage::log($value);
然后在我的示例中忘记编辑'REASON_CODE'
和getCustomer()->getMyvalue()
。