Archive for the ‘Tips’ Category

Load Sales/quote by id returns empty data

$quote = Mage::getModel(’sales/quote’)->loadByIdWithoutStore($quoteId); instead of $quote = Mage::getModel(’sales/quote’)->load($quoteId); because the regular Mage_Sales_Model_Quote::load() function automatically attaches the current storeview to load the quote object. In this case the storeview is admin, which means no results will be found for the quote id and the returned object is empty.

Using date and time

echo Mage::getModel(’core/date’)->date(’d/m/Y’); echo Mage::getModel(’core/date’)->timestamp(time()); Mage::getSingleton(’core/date’)->date(Varien_Date::DATETIME_PHP_FORMAT)); Mage::getModel(’core/date’)->gmtDate();

Country list

$countryList = Mage::getModel(’directory/country’) ->getCollection() ->loadData() ->toOptionArray(false);   echo ‘<pre>’; print_r($countryList);

Magento system configuration hierarchy

Default->Website->Store->Store View Store View not used in Magento System Configuration system.xml … <show_in_default>0</show_in_default> <show_in_website>1</show_in_website> <show_in_store>0</show_in_store> …

Change layout

yourlayout.xml <my_template_page> <reference name="root"> <action method="setTemplate"><template>page/my-layout-type-2.phtml</template></action> </reference> <reference name="content"> <block type="my/template" name="text_message" template="my/template.phtml"/> </reference> </mutual_template_page>

Get Customer Data

<?php $customer = Mage::getModel(’customer/customer’)->load($customerId); if ($customer->getId()) { var_dump($customer->getFirstname()); var_dump($customer->getEmail()); var_dump($customer->getData()); }

Send Transactional Email

  // SELECT template_id FROM core_email_template WHERE template_code=’Your template code’; $templateId = 495;   $sender = array(’name’ => ‘Imran Aghan’, ’email’ => ’email@address.co.uk’);     // Set recepient information $recepientEmail = ‘someone@someaddress.co.uk’; $recepientName = ‘Name Surname’;   // Get Store ID $storeId = Mage::app()->getStore()->getId();   // Send Transactional Email Mage::getModel(’core/email_template’) ->sendTransactional($templateId, $sender, $recepientEmail, $recepientName, array( […]

Get Order Data

<?php … $order = Mage::getModel(’sales/order’)->load($orderId); …

What does in XML mean?

CDATA stands for Character Data and it means that the data in between these strings includes data that could be interpreted as XML markup, but should not be. Example: etc/system.xml … <comment><![CDATA[In kilometers]]></comment> …

Dump SQL Query

Magento objects dump SQL on __toString() magic method call. Official PHP Documentation describes aforementioned magic method as follows: The __toString() method allows a class to decide how it will react when it is treated like a string. For example, what echo $obj; will print. This method must return a string, as otherwise a fatal E_RECOVERABLE_ERROR […]