The store I am working on handles wholesale orders only and the only functionality I want in the customer account order history area is for the customer to view their orders/status's and delivery, but not the invoice (which is part of a completely different system).
On the Order info/history page after an order has been completed and shipped, there are three links on the top of the page for "order information", "invoices" and "deliveries" by default.
I want to remove the "invoices" link.
I've found where this is coming from (sales.xml located in app/design/frontend/base/default/layout/) on the following line:
<action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>
There are 6 occurrences of the above line (for different views such as order detail, shipments, credit memo, invoice etc…) so by commenting them all out it works:
<!--<action method="addLink" translate="label" module="sales"><name>invoice</name><path>*/*/invoice</path><label>Invoices</label></action>-->
But I don't really like editing the base files. I tried moving "sales.xml" to my theme folder but then found that my custom order e-mails were missing the footer, having found they also rely on sales.xml and template files it refers to in the base template folder so I'd rather not go there.
Can this over-ridden using the local xml? Or is there a better method?
Best Answer
Yes you can but you will need a small module to override the sales/order_info block.
Here is how your module config.xml should look like:
Here is your Block/Sales/Order/Info.php
Your app/etc/modules/Company_Module.xml file:
Finally in your local.xml you can do the following: