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 insertionif(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.
Replace ????? with your own data.
We are fetching address template and changing that template.
----------------------------------------------------------------
No comments:
Post a Comment