<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
>
<channel>
	<title><![CDATA[Magento Developer Tutorials & News]]></title>
	<atom:link href="http://fishpig.co.uk/blog/feed" rel="self" type="application/rss+xml" />
	<link><![CDATA[http://fishpig.co.uk/blog/]]></link>
	<description><![CDATA[Magento Developer Tutorials & News]]></description>
	<lastBuildDate>Fri, 18 May 2012 11:22:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator><![CDATA[http://fishpig.co.uk/wordpress-integration/]]></generator>
			<item>
		<title><![CDATA[Install FishPig Premium Extensions Through Magento Connect]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/install-fishpig-premium-extensions-through-magento-connect.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/install-fishpig-premium-extensions-through-magento-connect.html#respond]]></comments>
		<pubDate>Tue, 01 May 2012 22:22:26 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/blog/?p=1014]]></guid>
			<description><![CDATA[Previously all premium FishPig extensions had to be installed by manually moving files from your local machine to your Magento site via FTP. Doing this each time an extension was upgraded was a major annoyance to a lot of you and for this we apologise. After a lot of research into this issue, we are happy to announce that all FishPig extensions can be installed using Magento Connect's Direct Package File Uploader!
]]></description>
			</item>
		<item>
		<title><![CDATA[Why You Shouldn't Merge JavaScript in Magento]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/why-you-shouldnt-merge-javascript-in-magento.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/why-you-shouldnt-merge-javascript-in-magento.html#respond]]></comments>
		<pubDate>Thu, 19 Apr 2012 23:05:54 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/blog/?p=987]]></guid>
			<description><![CDATA[Most people - myself included - thought that merging all of your separate Javascript files was a healthy way to speed up the front end of your site. The logic was that by merging the files, you reduce the number of requests the browser makes when loading your site. This allows the request to complete quicker and results in your page loading faster. Let's walk through an example of this process in Magento and see what happens.
Imagine you have just enabled Javascript Merging in the Magento Admin and then a user visits your site. Magento collates all of the XML...]]></description>
			</item>
		<item>
		<title><![CDATA[Secure HTTPS Magento Shopping Cart]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/secure-https-magento-shopping-cart.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/secure-https-magento-shopping-cart.html#respond]]></comments>
		<pubDate>Thu, 19 Apr 2012 18:22:54 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/blog/?p=979]]></guid>
			<description><![CDATA[Although the shopping cart doesn't contain overly sensitive and private information, some users still feel happier knowing that their cart information is secure. Some analysts have even pondered whether this could increase conversion rates (I don't think it could hurt!). By default, the Magento shopping cart isn't protected by SSL and there is no easy option to enable this in the Magento Admin. Fortunately, it's quite easy to create a Magento extension to achieve this. Let's see how...
Fishpig_CartSecure
We're going to write a small extension that will force Magento to display your cart using SSL (assuming you have set a HTTPS...]]></description>
			</item>
		<item>
		<title><![CDATA[Integrating WordPress Multisite into a Magento Multi-Store]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/integrating-wordpress-multisite-into-a-magento-multi-store.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/integrating-wordpress-multisite-into-a-magento-multi-store.html#respond]]></comments>
		<pubDate>Mon, 09 Apr 2012 15:00:27 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/blog/?p=876]]></guid>
			<description><![CDATA[There are many ways to integrate WordPress into Magento, but it starts to get more confusing when you want to integrate a WordPress Multisite. Before we get into the best - and easiest - way to integrate WordPress Multisite (WordPress MU) into a multistore Magento, let's talk about WordPress Multisite.
What is WordPress Multisite (WordPress MU)?
A WordPress Multisite blog is a collection of WordPress blogs that make use of one WordPress installation in the same way that one installation of Magento can run multiple stores. A WordPress multisite makes administering multiple blogs much easier, as you only need one WordPress Admin...]]></description>
				<image>
			<url>http://fishpig.co.uk/wp/wp-content/uploads/2012/04/wordpress-multisite-network1-150x150.png</url>
			<title><![CDATA[Integrating WordPress Multisite into a Magento Multi-Store]]></title>
			<link><![CDATA[http://fishpig.co.uk/blog/integrating-wordpress-multisite-into-a-magento-multi-store.html]]></link>
		</image>
		</item>
		<item>
		<title><![CDATA[Load A Category or Product by an Attribute]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/load-a-category-or-product-by-an-attribute.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/load-a-category-or-product-by-an-attribute.html#respond]]></comments>
		<pubDate>Mon, 02 Apr 2012 09:49:55 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/blog/?p=859]]></guid>
			<description><![CDATA[New developers often ask me how to load a product by a particular attribute. This is quite easy to accomplish in Magento and can be done using Magento collections.
Load a Product by SKU
Unlike most product attributes, SKU is a static attribute. This means that instead of being stored in one of the products EAV tables, it is stored in the main product entity table (catalog_product_entity). This makes loading a product based on it's SKU much easier and efficient.

&lt;?php

	$sku = 'my-product-sku';
	$product = Mage::getModel('catalog/product')-&gt;load($sku, 'sku');

	if ($product-&gt;getId()) {
		echo $product-&gt;getName();
	}
	else {
		echo 'Product not found with SKU of ' . $sku;
	}

The above code makes use...]]></description>
				<image>
			<url>http://fishpig.co.uk/wp/wp-content/uploads/2012/04/magento-code-snippets-150x150.jpg</url>
			<title><![CDATA[Load A Category or Product by an Attribute]]></title>
			<link><![CDATA[http://fishpig.co.uk/blog/load-a-category-or-product-by-an-attribute.html]]></link>
		</image>
		</item>
		<item>
		<title><![CDATA[Magento Exception Printing is Disabled by Default for Security Reasons]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/magento-exception-printing-is-disabled-by-default-for-security-reasons.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/magento-exception-printing-is-disabled-by-default-for-security-reasons.html#respond]]></comments>
		<pubDate>Fri, 08 Apr 2011 14:51:43 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/blog/?p=874]]></guid>
			<description><![CDATA[From Magento 1.4 onwards, the way errors/exceptions were handled changed quite a lot. Previously, Magento would automatically redirect the user to an error page, which looked ugly and was definitely a security risk (although less so than a lot of people make out). Now, the user is still redirected to an ugly error page (a tutorial on how to style this will be available shortly), but the error message is hidden. From a security stand point, this is great but as a developer, it is important to know what errors occur on the site.
Displaying Magento Errors
To change the way errors/exceptions...]]></description>
				<image>
			<url>http://fishpig.co.uk/wp/wp-content/uploads/2011/04/magento-error-messages-disabled-150x150.png</url>
			<title><![CDATA[Magento Exception Printing is Disabled by Default for Security Reasons]]></title>
			<link><![CDATA[http://fishpig.co.uk/blog/magento-exception-printing-is-disabled-by-default-for-security-reasons.html]]></link>
		</image>
		</item>
		<item>
		<title><![CDATA[Category Navigation Listings in Magento]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/category-navigation-listings-in-magento.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/category-navigation-listings-in-magento.html#respond]]></comments>
		<pubDate>Fri, 15 Oct 2010 12:10:16 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/?p=712]]></guid>
			<description><![CDATA[I wrote an article a while about illustrating how to show categories in a tree format. The code could be altered to display categories, categories and the current category's subcategory or categories and all sub-categories. While this code works fine, I have recently stumbled on a much better, neater way to accomplish this. This method requires less database interaction and therefore should render faster on the frontend.
Listing Categories in Magento 1.4.1.1 &amp; Above
Firstly, you need to make sure the block that you're working is of the type catalog/navigation. If you're editing catalog/navigation/left.phtml then you should be okay.
In my previous example...]]></description>
			</item>
		<item>
		<title><![CDATA[Add Custom Tabs to the Magento Product Admin]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/custom-tabs-magento-product-admin.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/custom-tabs-magento-product-admin.html#respond]]></comments>
		<pubDate>Mon, 30 Aug 2010 13:02:02 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/?p=682]]></guid>
			<description><![CDATA[In Magento eCommerce, it is possible to add new attributes to product models and edit the values for these attributes on the Product edit page. This is fine if we only want to add standard data (attributes) to a product, but what if we wanted to do something a little different?
This article explains how to build a simple custom Magento extension that will add a new tab to the product edit page and provide a facility for processing that data when the user hits the Save button.
Creating the Magento Extension
The first step is to create the extension's setup file, which...]]></description>
				<image>
			<url>http://fishpig.co.uk/wp/wp-content/uploads/2010/08/magento-admin-product-tabs-e1334481593445-150x150.png</url>
			<title><![CDATA[Add Custom Tabs to the Magento Product Admin]]></title>
			<link><![CDATA[http://fishpig.co.uk/blog/custom-tabs-magento-product-admin.html]]></link>
		</image>
		</item>
		<item>
		<title><![CDATA[Create a Drop-Down of Countries]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/list-countries-for-drop-down-in-magento.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/list-countries-for-drop-down-in-magento.html#respond]]></comments>
		<pubDate>Mon, 05 Jul 2010 11:21:05 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/?p=401]]></guid>
			<description><![CDATA[When I first needed to access a collection of countries in Magento I assumed it would work like all other data collections but was shocked to find that this wasn't the case. Rather than store country data in the database, Magento stores country data in an XML file and loads it in on each request. Fortunately though, there are some simple functions that we can use to access country names and codes in Magento.
Get An Array of Country Names/Codes in Magento

&lt;?php

	$countryList = Mage::getResourceModel('directory/country_collection')
					-&gt;loadData()
					-&gt;toOptionArray(false);

	echo '&lt;pre&gt;';
	print_r( $countryList);
	exit('&lt;/pre&gt;');

?&gt;

The above code will print out an array containing every country code and country name known...]]></description>
			</item>
		<item>
		<title><![CDATA[Direct SQL Queries In Magento]]></title>
		<link><![CDATA[http://fishpig.co.uk/blog/direct-sql-queries-magento.html]]></link>
		<comments><![CDATA[http://fishpig.co.uk/blog/direct-sql-queries-magento.html#respond]]></comments>
		<pubDate>Fri, 02 Jul 2010 17:13:39 +0000</pubDate>
		<dc:creator></dc:creator>
			<guid isPermaLink="false"><![CDATA[http://fishpig.co.uk/?p=390]]></guid>
			<description><![CDATA[Magento's use of data models provide a great way to access and modify data. Using aptly named methods and clever abstraction, Varien hide away the complex SQL needed to perform data operations. While this makes learning models easier, it often impacts the speed of the operation and therefore the responsiveness of your site. This is especially true when saving models that use the EAV architecture. More often that not, this cannot be avoided, however there are some situations where executing direct SQL queries would be simpler and much quicker. An example of this is updating product prices globally in Magento...]]></description>
				<image>
			<url>http://fishpig.co.uk/wp/wp-content/uploads/2010/07/magento-eav-e1334481844831-150x150.png</url>
			<title><![CDATA[Direct SQL Queries In Magento]]></title>
			<link><![CDATA[http://fishpig.co.uk/blog/direct-sql-queries-magento.html]]></link>
		</image>
		</item>
	</channel>
</rss>
