Enabling Spellchecker in Magento WYSIWYG editor

A little bit of a puzzling one, and not appearing to be much information about this, seemingly straight-forward task. Enabling the spellchecker plugin in TinyMCE in Magento’s admin. Here’s how you do it;

In js/mage/adminhtml/wysiwyg/tiny_mce/setup.js, find “theme_advanced_buttons3”, and update it as follows;

theme_advanced_buttons3 : 'tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,iespell,media,advhr,|,ltr,rtl,|,fullscreen,|,spellchecker',

Then find “var plugins” (should be a handful of lines above the one you just changed), and update it as follows (this one tripped me up, as not doing this will simply tell TinyMCE to ignore that “spellchecker” button you just added).

var plugins = 'safari,pagebreak,style,layer,table,advhr,advimage,emotions,iespell,media,searchreplace,contextmenu,paste,directionality,fullscreen,spellchecker,noneditable,visualchars,nonbreaking,xhtmlxtras';

Finally, download PHP Spellchecker from TinyMCE’s website, and extract into js/tiny_mce/plugins/.

Reload the admin, open a WYSIWYG editor, and there it is, at the end of the third line of icons!

Fedora 16 to 17 upgrade

I finally had the opportunity to upgrade my laptop from Fedora 16 to 17. When I installed 16 originally, within the week 17 came out, and I was too busy to do anything about it. Granted now 18 is in beta, and is likely to be released tomorrow now that I’ve done this upgrade, I wanted to post about an issue that I came across that no one seems to have touched on much, or at least there’s no real mention of it online. Only by chance did using a couple of tricks combined sort the problem out.

Continue reading “Fedora 16 to 17 upgrade” »

Creating products programmatically in Magento

Let’s face it – importing is hard. Especially if it’s from some other unfamiliar product, or something that doesn’t already have a Dataflow/import plugin for Magento already. Dataflow has its limits. I’ve actually found it easier to import manually (creating models for products) as opposed to writing Dataflow routines. However, one of my biggest bug bears is not just creating products in Magento programmatically, but creating them successfully. We always end up with stock or relationship issues between simple and configurable products.

Continue reading “Creating products programmatically in Magento” »

Compaq CQ60 Display Issues – The Unexpected Part 3

I recently had an unexpected part 3 to this tale the other day, when the display went. Again. But this time, different symptoms. This time, the backlight went. Oh sh*t, replacing LCD panels isn’t exactly cheap, and since the backlight diffusers and CCFL’s are fused to the back of the LCD panel itself, there was no way of replacing the individual unit.

Continue reading “Compaq CQ60 Display Issues – The Unexpected Part 3” »

Get website-level configuration in Magento

I stumbled across this one a couple of times now, and it’s caught me out every time.

With Magento, you have the method Mage::getStoreConfig() to get a store-level config, but nothing obvious to get a website-level configuration (such as a default URL for the website).

So I used this;


It’s the same syntax as what’s used in Mage::getStoreConfig(), but uses getWebsite() instead of getStore(). Hopefully this won’t catch me out anymore!