Showing posts with label How to edit PDF address in Magento. Show all posts
Showing posts with label How to edit PDF address in Magento. Show all posts

Thursday, October 18, 2012

How to edit PDF address in Magento


When you code in magento, maybe you will have question, how to edit PDF address in Magento.? You can do as following:
Editing PDF in Magento can be restrictive but if you need to edit just an address you can use events.
First set up your observer in config.xml:
----------------------------------------------------------------------------------
<adminhtml>
<events>
<customer_address_format>
<observers>
<inchoo_sales_customer_address_format_observer>
<type>model</type>
<class>inchoo_sales/observer</class>
<method>addAdditionalDataToAddress</method>
</inchoo_sales_customer_address_format_observer>
</observers>
</customer_address_format>
</events>
</adminhtml>
--------------------------------------------------------------------------
After obsever is set you need to set in code and edit address templates:
--------------------------------------------------------------------------
/**
* Observer printing invoices in PDF
*

*/
class Inchoo_Sales_Model_Observer
{
public function addAdditionalDataToAddress(Varien_Event_Observer $address)
{
$data $address->getEvent();
if($data->type['code']=="pdf")
{
$customerData $data["address"]->getOrder()->getData();
$customerId $customerData['customer_id'];
//we are using customer object because it give us latest user data, if you want data from user on order creation use $customerData
$customer = Mage::getModel('customer/customer')->load($customerId);
$customerVariable $customer->get?????;
//prevent of multiple insertion
if(strpos($data->type['default_format'],"Customer Variable")===false)
{
$stringToInsert "{{var company}}|{{/depend}}|Customer Variable: ".$customerVariable."|";
$data->type['default_format'] = str_replace("{{var company}}|{{/depend}}",$stringToInsert$data->type['default_format']);
};
};
}
}
------------------------------------------------------------------
If you use customer from order in PDF you get state from user in order state, if you wont get latest user data you have to use Mage::getModel(‘customer/customer’) object.
Replace ????? with your own data.
We are fetching address template and changing that template.
----------------------------------------------------------------