0

Apparently we waste 2 pages of paper every time we print an order. What we need to print is just the order information (not the 1-5 text and intro).

What is the best way to do that? (we print from the Order Confirmation Emails now)

Here is the info we need to print:

The order, what was sold, the card message, the sender and the recipient, and what date needs to be delivered.

  • What exact info do you need to print? It's not 2 page every time for an order. – Adarsh Khatri Jun 5 '15 at 12:36
  • The order we need, what was sold, the card message, the sender and the recipient, and what date needs to be delivered. – Allysin Jun 5 '15 at 14:09
1

you can use alternate way to create you own transaction email template with only required information like

  {{var order.getShippingAddress().format('html')}}
  {{var order.getShippingDescription()}} etc.

you can use below event to send custom email to only your specific email address

checkout_onepage_controller_success_action

This returns just the order id, so;

$order_id = $observer->getData('order_ids');
$order = Mage::getModel('sales/order')->load($order_id);

Next things to change variable to dynamic and send email

<?php

// This is the template name from your etc/config.xml 
$template_id = '[email_template_name]';

// Who were sending to...
$email_to = 'test@example.com';
$customer_name   = 'test customer';

// Load our template by template_id
$email_template  = Mage::getModel('core/email_template')->loadDefault($template_id);

// Here is where we can define custom variables to go in our email template!
$email_template_variables = array(
    'customer_name' => $customerName,
    'order' => $order
    // Other variables for our email template.
);

// I'm using the Store Name as sender name here.
$sender_name = Mage::getStoreConfig(Mage_Core_Model_Store::XML_PATH_STORE_STORE_NAME);
// I'm using the general store contact here as the sender email.
$sender_email = Mage::getStoreConfig('trans_email/ident_general/email');
$email_template->setSenderName($sender_name);
$email_template->setSenderEmail($sender_email); 

//Send the email!
$email_template->send($email_to, $customer_name, $email_template_variables);
?>

this is basic idea which you can make this more simple to send only relevant information to your email id and print this when u need.

hope this will work for you.

  • Liyakat! Wow - this sounds like exactly what I need! Reading the info - I am not sure I could actually implement this...Is there any way you could write it down in steps for me please? Like 1. go to this file in this folder and do this then 2. and so on? I would be forever gratefull. Thank you! – Allysin Jun 5 '15 at 13:18
1

If all the information you need is already in the same page, then in the printer dialog just input the page number you need to print.

For a more automated solution first checkout this extension as it might be what you need: https://github.com/firegento/firegento-pdf or if you want you can override the generation of the order pdf yourself.

Mage_Sales_Model_Order_Pdf_Invoice (app/code/core/Mage/Sales/Model/Order/Pdf/Invoice.php). Make sure to rewrite this class in your own module.

For more info take a look here:

http://www.magentocommerce.com/wiki/5_-_modules_and_development/orders/editing_an_invoice_pdf http://www.atwix.com/magento/customize-magento-pdf-invoice-and-packingslip http://www.satollo.net/magento-how-to-sligtly-modify-the-invoice-pdf

  • Can I ask about that extension please? When I install it - what exactly will it do? Thank you! – Allysin Jul 16 '15 at 23:19

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.