如何在Magento后端显示自定义订单属性

如何在Magento后端显示自定义订单属性,magento,attributes,Magento,Attributes,我正在使用Magento 1.7-我对Magento模块开发相当陌生 我已经创建了一个名为Deliverydate的新订单自定义EAV属性,客户将在购物车页面上输入该属性。我创建了一个自定义模块和安装程序脚本,可以在eav_属性表中看到它 $installer = $this; $installer->startSetup(); $setup = new Mage_Eav_Model_Entity_Setup('core_setup'); $setup->addAttribute(

我正在使用Magento 1.7-我对Magento模块开发相当陌生

我已经创建了一个名为Deliverydate的新订单自定义EAV属性,客户将在购物车页面上输入该属性。我创建了一个自定义模块和安装程序脚本,可以在eav_属性表中看到它

$installer = $this;
$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');

$setup->addAttribute('order', 'deliverydate', array(
 'position'      => 1,
 'input'         => 'text',
 'backend_type'  => 'varchar',
 'type'          => 'varchar',
 'label'         => 'Choose delivery date',
 'visible'       => 1,
 'required'      => 0,
 'user_defined' => 1,
 'global'        => 1,
 'visible_on_front'  => 1,
));

$installer->endSetup();
但我读过很多资料,不知道怎么做 1) 保存客户输入的值。 2) 检索要在管理中显示的值

我已经阅读了这些关于观察家的教程,但似乎无法让它们发挥作用:

这是我的config.xml文件

<?xml version="1.0"?>
<config>
  <modules>
    <Mycompany_Deliverydate>
      <version>0.1.0</version>
    </Mycompany_Deliverydate>
  </modules>
  <global>
<resources>
  <deliverydate_setup>
    <setup>
      <module>Mycompany_Deliverydate</module>
      <class>Mycompany_Deliverydate_Model_Resource_Mysql4_Setup</class>
    </setup>
    <connection>
      <use>core_setup</use>
        </connection>
      </deliverydate_setup>
    </resources>
    <events>
    <checkout_type_onepage_save_order>
        <observers>
            <Deliverydate_observer>
                <type>singleton</type>
                <class>deliverydate/observer</class>
                <method>Deliverydate</method>
            </Deliverydate_observer>
        </observers>
    </checkout_type_onepage_save_order>
     </events>
   </global>
</config>
我认为这根本没有被输入-我输入了一个
抛出新异常
,并且查看了整个订单,但从未看到异常。在任何情况下,我都不确定我是否检查了正确的事件-签出\键入\一页\保存\顺序-何时触发?我不知道将在哪里定义
setDeliverydate()
函数,但正如我所说,这类函数来自另一个源,并且也没有在那里定义


输入的值存储在哪里

请查看下面的帖子,它会对您有所帮助。如果它不能让你摆脱这个问题,请在这里发表评论


您在observer方法中获得了deliverydate属性值吗?您好,谢谢您提供的信息。它引导了我大部分的路,但我仍然无法让观测者工作,所以我不得不把
$quote->setDeliveryDate($delivery\u date)
进入OnePageController.php(这是一个自定义签出模块-也许这就是为什么我的observer不工作)我们只能对自定义属性使用一个自定义observer方法,比如每个模块只能使用1个,或者在安装Magento时使用1个?我的意思是,我们只能调用一个自定义order observer方法@colmdeSo,如果另一个模块正在使用它,那么我需要修改该模块吗?
class Mycompany_Deliverydate_Model_Observer {
  public function Deliverydate($observer) {

    $event = $observer->getEvent();
    $order = $event->getOrder();

    $order->setDeliverydate(Mage::app()->getRequest()->getPost('delivery_date'));


  }
}