It is possible, in Magento backend, to add different products to the order in one step: select the products, set the quantities, then add them to order at once. I always used simple products for this.

Anyway sometimes you have to specify product options. I have a few products with a custom text option. The text is always different: there are infinite possibilities and it depends by both the stock and the customer. I sell a lot of this items to the same customer. To place an order from the backend I should:

  1. click 'add products'
  2. select the product,
  3. specify the option
  4. add the product to the order

(that is the usual flow), but then click 'add products' again, select the same product again, specify a different option, and so on.

I saw an ajax call made after third point (specify the option). Is there a way to show the duplicate the product in the search grid, to let me choose a new and specify a different option?


Answered on: https://stackoverflow.com/questions/21462782/creating-a-new-product-while-creating-a-new-order-and-also-add-that-product-in-o/21478594#21478594

Thanks to Beto Castillo I went into the spirit to think more clearly about this. The project is yet under construction. Anyway starting steps could be:

  1. Create the right inputs to add a new product in a ChildHtml of sales/order/create/data.phtml, and adjust the layout files. Along with the inputs there will be a button to trigger the creation of the product. In one of this inputs I have to load options for tax rates.
  2. There is plenty of ways to create a new product, i.e. https://stackoverflow.com/questions/6735506/magento-adding-new-products-programmatically. I just need to get the above inputs.
  3. The product should be added to order quotes in the database (I could start with this: https://stackoverflow.com/questions/6877767/create-order-programmatically-in-magento)
  4. Update the create order view, calling an ajax function to reload the item grid. Part of the code already exists in Magento. All this steps should be packed into the same ajax call: here comes the controller action named by Beto Castillo.

So the answer is yes, it is possible.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.