Magento - how to hook into order reorder -
when customer reorders need include reference original order id on new order. can see how add attribute in sales_flat_order
, sales_flat_quote
(i think!), can't see how hook reorder.
the reorder quite simple , done in app\code\core\mage\sales\controller\abstract.php->reorderaction
. copies order items cart , opens cart. how can hook add orderid crossreference?
i can copy local , edit (correct?) that's not smart way of doing because i've taken done in abstract.php , made local copy of it.
i guess create custom module reorder , point "reorder" link custom module. again, that's bit hacky , i'd prefer hook process if possible.
thanks.
you can hook controller_action_predispatch_sales_order_reorder
event , order id parameter on observer
$oldorderid=mage::app()->getrequest()->getparam('order_id');
create new column quote , order table on sql installer
$installer = new mage_sales_model_resource_setup('core_setup'); $options = array( 'type' => varien_db_ddl_table::type_integer, ); $installer->addattribute('quote', 'old_order_id', $options); $installer->addattribute('order', 'old_order_id', $options); $installer->endsetup();
then save parameter order_id quote object on observer
mage::getsingleton('checkout/session')->getquote()->setoldorderid($oldorderid)->save();
and create fieldset on config.xml transfer value of attribute order object
<global> <fieldsets> <sales_convert_quote> <old_order_id> <to_order>*</to_order> </old_order_id> </fieldsets> </global>
there might experimentation involved, idea.
Comments
Post a Comment