Tôi muốn thêm một trường tùy chỉnh mới vào một thanh toán trang trong Magento. Tôi đã tạo mô-đun với trình cài đặt:Làm cách nào để thêm trường tùy chỉnh để đặt hàng trong Magento?
$installer = $this;
$installer->startSetup();
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('order', 'deliverydate', array(
'position' => 1,
'input' => 'text',
'type' => 'varchar',
'label' => 'Choose delivery date',
'visible' => 1,
'required' => 0,
'user_defined' => 1,
'global' => 1,
'visible_on_front' => 1,
));
$installer->endSetup();
Tôi có thể xem bằng phpmyadmin rằng trường này đã được thêm vào bảng mage_eav_attribute. Tôi cũng đã thêm thông tin này vào shipping-method.phtml:
<div class="form-list field">
<label for="deliverydate"><?php echo $this->__('Choose delivery date') ?></label>
<div class="input-box">
<input type="text" name="deliverydate" id="deliverydate" title="<?php echo $this->__('deliverydate') ?>" class="input-text" />
</div>
</div>
Khi tôi đặt hàng, trường tùy chỉnh sẽ không lưu. Làm thế nào để làm cho nó hoạt động? Tôi đã thêm một số trường tùy chỉnh cho khách hàng theo cách này và chúng hoạt động tốt. Tôi cũng có thể tự động thấy các trường khách hàng tùy chỉnh của mình trên quản trị viên/khách hàng nhưng không thể thấy trường đơn hàng tùy chỉnh của tôi trong admin/sales_order. Cảm ơn bạn
* Edit:
Đây là những gì tôi đã làm:
tôi thêm observer.php để CompanyName/module/mô hình/observer.php
class Company_Module_Model_Observer
{
public function Deliverydate($observer){
//get event data
$event = $observer->getEvent();
//get order
$order = $event->getOrder();
//set the country here
$order->setDeliverydate('11.11.2012');
//echo "observer";
}
}
Và đây là my config.xml:
<?xml version="1.0"?>
<config>
<modules>
<Company_Module>
<version>0.1.0</version>
</Company_Module>
</modules>
<global>
<resources>
<Company_Module_setup>
<setup>
<module>Company_Module</module>
<class>Company_Module_Model_Resource_Mysql4_Setup</class>
</setup>
</Company_Module_setup>
</resources>
<events>
<checkout_type_onepage_save_order>
<observers>
<Company_Module_Model_Observer>
<type>singleton</type>
<class>Company_Module_Model_Observer</class>
<method>Deliverydate</method>
</Company_Module_Model_Observer>
</observers>
</checkout_type_onepage_save_order>
</events>
</global>
</config>
I nghĩ rằng có một số vấn đề với người quan sát của tôi. Tôi nghĩ nó không bắn.
* Edit:
quan sát của tôi là làm việc ngay bây giờ. Tên tệp phải là Observer.php, không phải là observer.php.
bạn có thể chia sẻ đầy đủ mã.Đối tôi .Tôi phải bổ sung trong tab rà soát trật tự .. –