Populating Test Products Pure SQL solution for quickly populating Magento’s with test data. Standard warnings about using SQL and the possibility of invalid data relationships being created apply, but interesting none the less.
astorm
While you still call Mage::dispatchEvent to dispatch an event, Magento 2 has moved responsibility for event dispatch out of the Mage_Core_Mode_App class and into a stand alone Mage_Core_Model_Event_Manager class. If you’re debugging events the final dispatch method you’re interested in is #File: [...]
astorm
That last post made me realize I hadn’t mentioned one of the biggest changes to Magento 2: No more class aliases. Magento still has factory methods for instantiating objects, but instead of the shorter, more elegant, and confusing class aliases Mage::getModel('catalog/product'); You use a full PHP class name [...]
astorm
Over Magento 2’s long gestation period, there’s been a lot of back and forth on its backwards compatibility. At this point, there would need to be a major engineering effort for out of the box API compatibility with Magento 1. Extension developers will need to resign themselves to some refactoring to get their extensions [...]
astorm
The current Magento 2 source code has a number of different .htaccess files ./.htaccess ./app/.htaccess ./dev/.htaccess ./downloader/.htaccess ./downloader/template/.htaccess ./lib/.htaccess ./pub/.htaccess ./pub/errors/.htaccess ./pub/lib/.htaccess ./pub/media/.htaccess ./pub/media/customer/.htaccess ./pub/media/downloadable/.htaccess [...]
astorm
Magento 2 seems to be moving in a more Symfony/Zend 2/modern direction by splitting out the source folder (app) from the publicly browsable folder (pub). This is good, but the default distribution has a little weirdness — there’s two index.php files. There’s the one you’d expect in pub pub/index.php and then [...]
astorm
For reasons that are way too complicated to get into on Magento Quickies, while Magento 2 still has the concept of a developer mode, there’s no longer a Mage::setIsDeveloperMode method. If you’d been lazily (like me. cough) editing index.php to switch your site into developer mode, that won’t work anymore. Your only [...]
astorm
The first significant change in Magento 2? No more local, community, or even core code pools. Modules live in the top of app/code, and your modules live in their name-spaced folders. If you have any hard coded code pool paths, now’s the time to remove them.
astorm
Magento 2 Code Drop The Magento core team dropped about 4 months worth of changes to Magento 2 near the end of last week. Whatever you want to say about the core team, it can’t be that they’re sitting idle. There’s significant changes to things under the hood. Magento 2 is still a long ways off, but it’d be smart [...]
astorm
Introducting the new n98-magerun module system
astorm
High Level Overview of Magento’s Internationalization (Translation) Feature http://magento.stackexchange.com/questions/6722/how-to-implement-translations-in-design-template-package-csvs-how-does-echo-t/6725#6725
astorm
Magento Rewrite Central The most important place to check when debugging a Magento rewrite that isn’t working.
astorm
Debugging a Magento Exception There’s nothing that remarkable about this answer — other than it pains me we’re training a generation of “blue collar” programmers who don’t know how to debug this sort of thing themselves, or even ask a cogent question about it. When I’m having a bad day I wonder if [...]
astorm
Removing an Attribute from an Attribute Set Programmatically I remember the EAV code confusing the heck out of me when I started with Magento — I wonder if it was because of booby traps like this.
astorm
OAuth of Fealty Brutal (i.e. honest) assessment of modern software development. But something that’s not antiquated, or shouldn’t be, is providing a service that does what claims, that provides more value than it takes back, and that earnestly cares about the way it gets used, not just about the fact that its use can be [...]
astorm
First steps on HHVM HHVM is the Hip Hop Virtual Machine. A few years back Facebook created a compiler that took a subset of the PHP language and turned it into super fast C++ code (that’s a gross over simplification). There are forces at work trying to get Magento up and running on the HHVM, which would eradicate a number of [...]
astorm
It's been three months since Magento Imagine, and there's been an eerie silence on the development side of eBay's Magento platform. After a loud and proud release of Magento Enterprise 1.13, a more quiet release of Magento Community Edition 1.8 Alpha, and
astorm
Alan Storm: Developing Commands for N98-magerun One last n98-magerun article. This one covers how I created the config:search command, and is really a sneaky way of teaching you about test driven development.
astorm
In the N98-magerun: Creating Hello World article, we covered creating a new n98-magerun command. However, this command was the ubiquitous but ultimately useless "Hello World". Also, because of its trivialness we failed to perform an important part of modern software development: Writing automated tests
astorm
Subtitle: Why Magento sometimes makes people crazy. Pop quiz. What does this bit of code do? Hint: It’s used on the catalog search page, and “query” means the text a user entered Mage::helper('catalogsearch')->isMinQueryLength() If you said returns true if the search text is of the minimum query length You’d be [...]
astorm