Estoy tratando de agregar un campo personalizado a mis órdenes. En este momento, he encontrado el post de abajo que me ayudó a crear ese 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 la creación de varios órdenes, soy capaz de bucle a través de 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!

OriginalEl autor MatheusJardimB | 2013-07-11

2 Comentarios

  1. 28

    Agregar esto a los mundiales de alcance en config.xml. Entonces simplemente establece el atributo de la cita – se pone automáticamente transferido a la orden en la cotización a pedido proceso de conversión.

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

    Puede recuperar o establecer el atributo en cualquier momento a través de la magia de captador/definidor, por ejemplo,

    $quote->getYourSpecialAttribute()
    $order->getYourSpecialAttribute()
    
    $quote->setYourSpecialAttribute()
    Funcionó! Gracias man 🙂
    Mi problema ahora es: ¿se trabajó sólo porque he añadido sus líneas de xml o en la mía también han contribuido?
    por supuesto…se agrega el atributo a través de tu script de instalación. el xml líneas me dio el empuje el atributo de forma automática a través de la cotización a pedido de conversión. como cita también se guarda en la db debe crear el atributo en la cita también! sólo tienes que comprobar el orden de las ventas de cotización db tabla.
    Como usted dijo que ambos get y set funcionando bien dentro de sales_order_sales_after observador, pero cuando traté de $pedidos = Mage::getResourceModel(‘sales/order_collection’)->addFieldToSelect(‘*’)->addAttributeToFilter(“your_special_attribute”, array(“finset”=>$customer_id))->setOrder(‘created_at’, ‘desc’); No funciona.
    me pueden dar el código correcto?

    OriginalEl autor Michael Leiss

  2. 0

    Después de haber agregado un campo de texto para el billing.phtml archivo y guardar el campo de Cotización y Orden de las Tablas, se puede mostrar el atributo. Usted puede mostrar el campo en Mi Cuenta -> Ver el Fin. Realice los cambios siguientes en custom.xmlfie.

    <?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 más información, consulte el blog Cómo agregar atributo personalizado de orden en Magento

    el enlace va a spam

    OriginalEl autor Henry Roger

Dejar respuesta

Please enter your comment!
Please enter your name here