The Magento object for interacting with customers (Mage_Customer_Model_Customer, alias customer/customer) has three address fetching methods, but you probably only want one of them. The first, and least useful, is getAddressCollection. You might think this method would return a Magento Address collection containing address objects [...]
astorm
There is no company capable of releasing a tablet computer device that can compete head on with Apple Inc.'s iPad. Apple's core technology (touchscreen, responsive UI), deals with the entertainment industry (Record Labels, Pandora, Netflix, and their ilk), and ability to skip the
astorm
Proposed Methodology for Cleanly Altering the Admin Console DOM Output via Javascript
astorm
Last week on Magento Quickies I posted
astorm
Model Resources and Multiple Database Support In response to my question. What do I Need to do with my Model Resources for the Magento 1.6 Release?
astorm
Magento Version: 1.6.rc1+ I just downloaded the release candidate for Magento 1.6, and I noticed a change that seemed like a regression, but a little digging made me realize it was something else. A lot of Magento developers (meaning me) like keeping their custom phtml files somewhere other than the the standard add/design/frontend file [...]
astorm
Quick note for all you Commerce Bug users. The core team made some changes in 1.6 that require you to tweak a configuration setting for Commerce Bug to work. You'll need to go to
astorm
Wherein I attempt to explain the theme fallback system to a Magento newbie on Stack Overflow
astorm
I’ve started creating single line observers like this <?php class Mycompany_Mymodule_Model_Observer { public function someMethod($observer) { Mage::helper('mycompany_mymodule/observer') ->someMethod($observer->getCustomer()); } } The logic is punted to a helper class. This way the helper receives only the objects it needs [...]
astorm
Last week over at Magento Quickies I
astorm
Magento Version: 1.5.1 If you’ve spent anytime with the Magento core controllers, you’re probably aware you can kick off an HTTP redirect with something like $this->_redirect('catalogsearch/term/popular/'); There’s two things about this you should be aware of. The _redirect method does not automatically halt [...]
astorm
When explaining the local.xml Layout file, you’ll hear Magento veterans (myself included) explain that local.xml is loaded last, so the updates there always “win”. This is true, to an extent, but there’s one big caveat to keep in mind. Layout Update XML Fragments are loaded and applied in order, by handle. That [...]
astorm
There’s more sophisticated ways of logging and profiling SQL in Magento these days, but sometimes it’s still easier and quicker to drop down to the abstract Zend adapter and log your queries with a few discrete calls to Mage::Log Almost every INSERT, UPDATE, SELECT, and DELETE goes through the methods in [...]
astorm
We have an extension that uses Ajax to change what shipping rates are shown in a weekly date/time grid @webshopapps, in response to my question “Hey magento people, are there are any extensions (free/paid) that add Ajax features to the checkout page?”
astorm
CheckItOut @andkorolyov, in response to my question “Hey magento people, are there are any extensions (free/paid) that add Ajax features to the checkout page?”
astorm
Some people in the Magento Community are getting antsy about the eBay acknowledgment. As with anything that’s out of my control, it’s a hope for the best, plan for the worst situation.
astorm
In many programming languages, especially the less strictly typed ones, a common coding pattern starts to emerge. $thing = $this->getSomeThing(); if($thing) { //do something with the thing } Without a compiler to catch methods returning what they shouldn’t, a developer is forced to sanity check return values from methods before [...]
astorm
Sending Magento HTML emails Programatically
astorm
Magento’s form validation seems scary at first, but using it is actually quite easy. First, create for your form. <form action="<?php echo $this->getUrl('/some/route/thing');?>" id="theForm"> <input type="text" name="foo" id="foo" /> </form> Next, run this bit of javascript to turn your plain old form [...]
astorm