magento magento-1.7

Magento-Agregar atributo personalizado para ordenar



magento-1.7 (2)

Estoy tratando de agregar un campo personalizado a mis pedidos. En este momento, encontré el post de abajo que me ayudó a crear dicho atributo en mi base de datos: http://fabrizioballiano.net/2011/11/15/create-a-custom-order-attribute-in-magento/

require_once(''app/Mage.php''); Mage::app()->setCurrentStore(Mage::getModel(''core/store'')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); $installer = new Mage_Sales_Model_Mysql4_Setup; $attribute = array( ''type'' => ''int'', ''backend_type'' => ''text'', ''frontend_input'' => ''text'', ''is_user_defined'' => true, ''label'' => ''My Label'', ''visible'' => true, ''required'' => false, ''user_defined'' => true, ''searchable'' => true, ''filterable'' => true, ''comparable'' => true, ''default'' => 0 ); $installer->addAttribute(''order'', ''special_attribute'', $attribute); $installer->endSetup();

Después de ejecutar el código anterior y crear varios pedidos, puedo recorrer todos los pedidos y ver el valor predeterminado para cada orden.

La pregunta es, ¿cómo puedo almacenar los datos que quiero en este campo? ¿Cómo puedo recuperar esos datos?

¡Gracias!


Agregue esto al alcance de gobal en config.xml. Luego, simplemente configure el atributo en la cotización: se transfiere automágicamente a la orden en el proceso de conversión de la cotización para ordenar.

<global> ... <fieldsets> <sales_convert_quote> <your_special_attribute> <to_order>*</to_order> </your_special_attribute> </sales_convert_quote> </fieldsets> ... </global>

Puede recuperar / establecer el atributo en cualquier momento a través de magic getter / setter, por ejemplo

$quote->getYourSpecialAttribute() $order->getYourSpecialAttribute() $quote->setYourSpecialAttribute()


Después de agregar un campo de texto al archivo billing.phtml y guardar el campo en Quote and Order Tables, puede mostrar el atributo. Puede visualizar el campo en Mi Cuenta -> Ver pedido. Realice los siguientes cambios en custom.xml fie.

<?xml version="1.0"?> <layout version="0.1.0"> <sales_order_view> <reference name="my.account.wrapper"> <block type="custom/custom_order" name="custom.order" template="custom/order.phtml" after=''sales.order.info'' /> </reference> </sales_order_view> </layout>

Para obtener más información, consulte el blog Cómo agregar un atributo personalizado para ordenar en Magento.