browse the blogs

[ 29 Jun 2014 ]

tim-reynolds/magento-qconfig:

When I started using Magento the System Configuration section made me feel a little dumb — so many options, but no easy way to search for things. I’d always forget where a particular option was.

After a few months of using grep and ack to search though the system.xml files and work backwards to figure out the section, I decided to automate that process and the System Configuration Search module was the result.

Tim Reynolds had the same idea, and created a similar module named qconfig. I’ve also seen a few other implementations floating around, but I really like what Tim’s done with the search visualizations. It makes me extra embarrassed about my goofy dancing arrows. …

[ 25 Jun 2014 ]

Magento system.xml hint tag. :

Some background on an abandoned “hint” tag for Magento’s system configuration form fields.

[ 19 Jun 2014 ]

Barely Magento related — mainly a tab sweep to capture some Stack Overflow questions where I’m re-familiarizing myself with DBA concepts as part of a Magento upgrade project.

Optimizing ALTER TABLE

Debugging errno: 150

More errno: 150

[ 17 Jun 2014 ]

Replay SQL Log:

An interesting project (also forked and improved by Magento stalwart fbrnc) that lets you replay the contents of Magento’s database log for the purpose of improving performance during a Setup Resource upgrade. I haven’t tried using it, but it looks useful.

Also, if there’s any computer science teachers out there, it’s a nice example of how eventually every system starts to recreate other systems (database transactions/bin-log replay).

[ 27 May 2014 ]

Vinai Koop (author of Grokking Magento) pointed me towards the magento-hackathon/composer-command-integrator Magento package (in a GitHub thread).

This packages adds a deploy-all command to the Firegento Magneto composer project which (presumably) allows users to explicitly trigger an installation of their packages into their Magneto system. (As opposed to the current Composer Installer behavior, which only installs when a package is downloaded or updated)

[ 20 May 2014 ]

In his soon to be referenced widely Magento Infinite Theme Fallback Fix, Eric Wiese notes that layout update XML files added via theme.xml are ignored by the parent/child theme inheritance. An XML file added to a parent’s theme.xml will not be added automatically to the child theme’s layout.

Eric’s solution is a custom module that makes theme inheritance consider these files.

If installing a module isn’t a solution available to you, here’s another option. Just specify the file from the parent theme you’d like in the child’s theme.xml.

In Eric’s example his US theme’s theme.xml

<?xml version="1.0"?>
<theme>
<parent>mycompany/corporate-base</parent>
<layout>
<updates>
...

[ 18 May 2014 ]

One of the things Magento 1.9 brings to the table is unlimited theme fallback via a parent/child theme mechanism. If you ever need to find the current theme’s parent programmatically, here’s what you’ll want to do.

$design     = Mage::getDesign();
$config     = Mage::getSingleton('core/design_config');
$area       = $design->getArea();
$package    = $design->getPackageName();
$theme      = $design->getTheme('');            

$parent     = (string)$config->getNode($area . '/' . $package . '/' . $theme . '/parent');

var_dump($parent);

The core/design_config model/singleton is a new service model that’s responsible for reading the new theme.xml files. Then we fetch the area, design …

[ 18 May 2014 ]

Magento Infinite Theme Fallback Fix:

Covers Magento 1.9’s new parent/child theme concept, and offers an extension for more Magento 2 like merging of theme files (vs. complete file replacement)