<?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>NY INTERACTIVE AGENCY « iFUEL INTERACTIVE / AGENCY212 &#187; Magento</title>
	<atom:link href="http://blogs.ifuelinteractive.com/tag/magento/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.ifuelinteractive.com</link>
	<description>A NY INTERACTIVE AGENCY</description>
	<lastBuildDate>Thu, 02 Feb 2012 15:30:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Magento Caching</title>
		<link>http://blogs.ifuelinteractive.com/2012/02/02/magento-caching/</link>
		<comments>http://blogs.ifuelinteractive.com/2012/02/02/magento-caching/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 15:30:07 +0000</pubDate>
		<dc:creator>Jacqueline DeVito</dc:creator>
				<category><![CDATA[Magento Moments]]></category>
		<category><![CDATA[Caching]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=622</guid>
		<description><![CDATA[Magento uses caching extensively.  If you also want to be able to save something to cache rather than reading from the database or some more expense resource like that, it’s simple:
$value = Mage::app()-&#62;loadCache(‘my_cache_key’);
If the key isn’t found, $value will be null.
To store a value in the cache is almost as easy:
Mage::app()-&#62;saveCache($data_to_store, ‘my_cache_key’, array(), $duration_in_seconds);
(The [...]]]></description>
			<content:encoded><![CDATA[<p>Magento uses caching extensively.  If you also want to be able to save something to cache rather than reading from the database or some more expense resource like that, it’s simple:</p>
<blockquote><p>$value = Mage::app()-&gt;loadCache(‘my_cache_key’);</p></blockquote>
<p>If the key isn’t found, $value will be null.</p>
<p>To store a value in the cache is almost as easy:</p>
<blockquote><p>Mage::app()-&gt;saveCache($data_to_store, ‘my_cache_key’, array(), $duration_in_seconds);</p></blockquote>
<p>(The empty array in the call above is standing in for a parameter called “tags” which, to my knowledge, is not used.  Someone please correct me on that if I’ve got it wrong.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2012/02/02/magento-caching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading Blocks</title>
		<link>http://blogs.ifuelinteractive.com/2012/02/01/loading-blocks/</link>
		<comments>http://blogs.ifuelinteractive.com/2012/02/01/loading-blocks/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 00:11:46 +0000</pubDate>
		<dc:creator>Jacqueline DeVito</dc:creator>
				<category><![CDATA[Magento Moments]]></category>
		<category><![CDATA[Blocks]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=615</guid>
		<description><![CDATA[Sometimes I’m banging my head against the wall trying to figure out why my block isn’t loading right or some other layout element isn’t rendering.  And I’ve always wished I could just see the layout as Magento is seeing it.  So I finally dug in to see and it’s actually incredibly simple to output the [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I’m banging my head against the wall trying to figure out why my block isn’t loading right or some other layout element isn’t rendering.  And I’ve always wished I could just see the layout as Magento is seeing it.  So I finally dug in to see and it’s actually incredibly simple to output the layout for a given page in xml format.</p>
<pre class="brush: php">
echo Mage::app()-&gt;getLayout()-&gt;getNode()-&gt;asNiceXml(&#039;&#039;, 0);
</pre>
<p>The layout is just a Varien_Simplexml_Config.  getNode buys you access to the private $_xml variable that holds the root node of the xml document.  Then asNiceXml formats it nicely for the screen.  If you’d rather output to a file (they can be large chunks of xml) supply a file name for the first parameter of asNiceXml and the xml will be written there, too.</p>
<p>Now back to why my block isn’t loading…</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2012/02/01/loading-blocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging Database Queries in Magento</title>
		<link>http://blogs.ifuelinteractive.com/2012/02/01/logging-database-queries-in-magento/</link>
		<comments>http://blogs.ifuelinteractive.com/2012/02/01/logging-database-queries-in-magento/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:13:05 +0000</pubDate>
		<dc:creator>Jacqueline DeVito</dc:creator>
				<category><![CDATA[Magento Moments]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=612</guid>
		<description><![CDATA[Sometimes Magento does something and it’s just not obvious why.  We’ve all heard “why aren’t my products showing up?” more times than we can count.  Magento’s object model for building queries is great, but sometimes you just need to see the sql that’s being run on the database in order to know what’s really going [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Sometimes Magento does something and it’s just not obvious why.  We’ve all heard “why aren’t my products showing up?” more times than we can count.  Magento’s object model for building queries is great, but sometimes you just need to see the sql that’s being run on the database in order to know what’s really going on.</p>
<p style="text-align: justify;">In the past I’ve used the general log in mysql.  That can be a great source of information, but, depending on the version of mysql, it can be a pain to set up.  Other times I’ve inserted logging code into various db classes in order to print out queries that are being run, but I always have to find the right place again.  But today I stumbled on this blog entry -<a title="Logging Database Queries in Magento" href="http://blog.nexcess.net/2011/04/15/logging-database-queries-in-magento/" target="_blank"> http://blog.nexcess.net/2011/04/15/logging-database-queries-in-magento/</a> that spells out exactly how you can turn on some (as far as I know) undocumented logging functionality that is built right in to the Magento data access layer.  Kudos to the author and thanks for sharing!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2012/02/01/logging-database-queries-in-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Awards &#8211; 20 Fabulous New Websites For Your Inspiration</title>
		<link>http://blogs.ifuelinteractive.com/2012/01/06/css-award/</link>
		<comments>http://blogs.ifuelinteractive.com/2012/01/06/css-award/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 19:40:35 +0000</pubDate>
		<dc:creator>Jacqueline DeVito</dc:creator>
				<category><![CDATA[Creative]]></category>
		<category><![CDATA[Awards]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=605</guid>
		<description><![CDATA[Here at iFuel, we are very excited to be featured again for our design work for Giutzy.com.
We were recognized as one of the 20 Fabulous New Websites For Your Inspiration.

We&#8217;re very excited to share this news with you all!
]]></description>
			<content:encoded><![CDATA[<p>Here at iFuel, we are very excited to be featured again for our design work for<a title="Giutzy.com" href="http://www.giutzy.com/" target="_blank"> Giutzy.com.</a></p>
<p>We were recognized as one of the 20 Fabulous New <a title="CSS Awards – 20 Fabulous New Websites For Your Inspiration" href="http://www.inspiredm.com/css-awards-20-fabulous-new-websites-for-your-inspiration/" target="_blank">Websites </a>For Your Inspiration.</p>
<p style="text-align: center;"><a href="http://www.inspiredm.com/css-awards-20-fabulous-new-websites-for-your-inspiration/"><img class="aligncenter size-full wp-image-606" title="Inspired Mag" src="http://blogs.ifuelinteractive.com/wp-content/uploads/2012/01/Inspired-Mag.jpg" alt="" width="586" height="658" /></a></p>
<p>We&#8217;re very excited to share this news with you all!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2012/01/06/css-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Profit on Birthdays</title>
		<link>http://blogs.ifuelinteractive.com/2011/09/06/profit-on-birthdays/</link>
		<comments>http://blogs.ifuelinteractive.com/2011/09/06/profit-on-birthdays/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 20:14:40 +0000</pubDate>
		<dc:creator>Jacqueline DeVito</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[eCommerce]]></category>
		<category><![CDATA[Birthday]]></category>
		<category><![CDATA[Coupons]]></category>
		<category><![CDATA[Email Subscription]]></category>
		<category><![CDATA[Free Offers]]></category>
		<category><![CDATA[Promo Codes]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=456</guid>
		<description><![CDATA[On the eve of my birthday, I must say, I have been inundated with coupons and special offers for my use, and as a consumer, I have taken advantage of almost all of them. Seriously, who doesn&#8217;t love celebrating their birthday?
I have received dozens of e-mails from many of the stores and brands I like [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">On the eve of my birthday, I must say, I have been inundated with coupons and special offers for my use, and as a consumer, I have taken advantage of almost all of them. Seriously, who doesn&#8217;t love celebrating their birthday?</p>
<p style="text-align: justify;">I have received dozens of e-mails from many of the stores and brands I like to shop at, and many of them offer either an amazing coupon, or a free gift for my birthday.</p>
<p style="text-align: justify;"><span id="more-456"></span>Examples:</p>
<p style="text-align: justify;"><a title="Sephora | iFuel Interactive" href="http://www.sephora.com/beautyinsider/index.jhtml;jsessionid=UUJQL4TY0EDSMCV0KQNQX0Q" target="_blank">Sephora</a>: I am a member of their Beauty Rewards program, and you get a full sized free birthday presents. You don&#8217;t even need to buy anything (but I did anyway) and you can either shop online or go in the store.</p>
<p style="text-align: justify;"><a title="Starbucks | iFuel Interactive" href="https://www.starbucks.com/card" target="_blank">Starbucks</a>: I have a registered gift card, and was sent an e-mail saying they were mailing me a coupon for a free drink of my choice.</p>
<p style="text-align: justify;"><a title="Hallmark | iFuel Interactive" href="http://www.hallmark.com/online/crown-rewards/" target="_blank">Hallmark</a>: I&#8217;m a Platinum Level Crown Rewards member (thank-you-very-much) and I have gotten so many coupons and offers. I got a birthday card from my local Hallmark store, a coupon for 20% off, and an e-mail for $5 off a $20 purchase.</p>
<p style="text-align: justify;"><a title="Ruby Tuesday | iFuel Interactive" href="http://pages.rubytuesdayrestaurants.com/page.aspx?QS=330c754b5e92df74c5001a21711e171204a64d8b8f9cfa5519d03d3ba221e1a1" target="_blank">Ruby Tuesday</a>: I signed up for their mailing list, and got a coupon for a free birthday burger. They cleverly called it, &#8220;We Wrapped Your Birthday Present in a Bun.&#8221;</p>
<p style="text-align: justify;"><a title="Red Lobster | iFuel Interactive" href="http://www.redlobster.com/club/" target="_blank">Red Lobster</a>: Yes, my guiltiest pleasure in the whole wide world is Red Lobster. I also signed up for their Club Rewards, and received a coupon for $5 off my bill when two adult entries are ordered.</p>
<p style="text-align: justify;"><a title="Banana Republic | iFuel Interactive" href="http://bananarepublic.gap.com/?" target="_blank">Banana Republic</a>: I have a Banana Republic store charge card, and they mailed me a coupon for $15 off my purchase, with no minimum purchase required.</p>
<p style="text-align: justify;"><a title="1-800 Flowers | iFuel Interactive" href="http://ww31.1800flowers.com/" target="_blank">1-800 Flowers</a>: When I created an account, they ask for important occasions and birthday dates. They sent me an e-mail reminding me my birthday was coming up, and a promo code to save on a purchase.</p>
<p style="text-align: justify;">And the crazy thing is, it is not even my birthday yet, and I have all these coupons and offers. I am excited to see what finds its way to my inbox on my actual birthday!</p>
<p style="text-align: center;"><a href="http://blogs.ifuelinteractive.com/wp-content/uploads/2011/09/Happy-Birthday.jpg"><img class="size-full wp-image-464 aligncenter" style="border: 5px solid red;" title="Happy Birthday" src="http://blogs.ifuelinteractive.com/wp-content/uploads/2011/09/Happy-Birthday.jpg" alt="" width="268" height="400" /></a></p>
<p style="text-align: center;">
<p style="text-align: justify;">So, you may be asking yourself, &#8220;Why is she ranting on about her birthday coupons?&#8221;</p>
<p style="text-align: justify;">The answer is simple: They are getting me to spend more money on their products, by making me feel special and feel like I am a valued customer. For Sephora, I didn&#8217;t need to buy anything to get my free gift, but because I was on their website, I decided to order my mascara for $25.00. For the restaurant coupons, they offer me some great deals, but I am not going to dine out by myself, so they know they will have at least two entries on the bill where I use my coupon. Banana Republic&#8217;s coupon states I need to use my credit card, so that total purchase will be added to my monthly bill.</p>
<p style="text-align: justify;">It is easy to cash in on people&#8217;s birthdays with your own website. When customers need to create an account, be sure to also capture their birthday (or even just their birthday month) so you can send out newsletters with special promo-codes for their use. I&#8217;ve noticed that it is common for my coupons to expire at the end of the month, or only be valid for a specific month (ie: September). If you are able to, perhaps you can include a small free gift with any purchase made during the customer&#8217;s birthday month. You could even go as far to set a minimum purchase value, before the shopper is eligible for the free birthday gift.</p>
<p style="text-align: justify;">Setting up all these features and promo codes are a snap when you have Magento as your e-Commerce platform. The logic and settings are easy to set in the admin area, and you can be as broad or as specific as you want.</p>
<p style="text-align: justify;">Have questions? <a title="Contact Us | iFuel Interactive" href="http://www.ifuelinteractive.com/ny-westchester-interactive-agency.html" target="_blank">Contact us</a> and we&#8217;ll be more than happy to help.</p>
<p style="text-align: justify;">
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2011/09/06/profit-on-birthdays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reindexing Magento Data via a Cron Job</title>
		<link>http://blogs.ifuelinteractive.com/2011/02/11/reindexing-magento-data-via-a-cron-job/</link>
		<comments>http://blogs.ifuelinteractive.com/2011/02/11/reindexing-magento-data-via-a-cron-job/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 17:09:45 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Cron]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[Reindex]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=292</guid>
		<description><![CDATA[I like to have all Magento data re-indexed every night via a cron job.  That way I KNOW the indexes are up to date.
To create the cron job, add the following to your cron file to reindex every day at 4am
0 4 * * * php -f /shell/indexer.php reindexall
Note: If you get an error [...]]]></description>
			<content:encoded><![CDATA[<p>I like to have all Magento data re-indexed every night via a cron job.  That way I KNOW the indexes are up to date.</p>
<p>To create the cron job, add the following to your cron file to reindex every day at 4am</p>
<p>0 4 * * * php -f /shell/indexer.php reindexall</p>
<p>Note: If you get an error telling you you&#8217;re out of memory similar to:</p>
<p>PHP Fatal error:  Allowed memory size of 262144 bytes exhausted (tried to allocate 7680 bytes) in &#8230;/app/code/core/Mage/Index/Model/Indexer.php on line 163</p>
<p>Try commenting out php_value memory_limit and php_value max_execution_time in your .htaccess file.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2011/02/11/reindexing-magento-data-via-a-cron-job/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programmatically Subscribing a Customer to the Newsletter List</title>
		<link>http://blogs.ifuelinteractive.com/2011/01/04/programmatically-subscribing-a-customer-to-the-newsletter-list/</link>
		<comments>http://blogs.ifuelinteractive.com/2011/01/04/programmatically-subscribing-a-customer-to-the-newsletter-list/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 15:37:35 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Email Subscription]]></category>
		<category><![CDATA[Newsletter]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=283</guid>
		<description><![CDATA[Recently we had to import a list of newsletter subscribers into Magento.  We had already loaded all the customers, but now we needed to subscribe all of the customers that had subscribed on the customer&#8217;s old site on the new.  The following code (simplified for display here) did the trick!

&#60;?php
define(&#039;CRLF&#039;, &#039;\r\n&#039;);

require_once(&#34;&#60;path to your [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we had to import a list of newsletter subscribers into Magento.  We had already loaded all the customers, but now we needed to subscribe all of the customers that had subscribed on the customer&#8217;s old site on the new.  The following code (simplified for display here) did the trick!</p>
<pre class="brush: php">
&lt;?php
define(&#039;CRLF&#039;, &#039;\r\n&#039;);

require_once(&quot;&lt;path to your app folder&gt;Mage.php&quot;);

Mage::app();

$email = &quot;joe@blow.com&quot;;

// THE &quot;EASY&quot; WAY (but sends a confirmation email to the customer
$subscriber = Mage::getModel(&#039;newsletter/subscriber&#039;)-&gt;subscribe($email);

// THE &quot;HARD&quot; WAY (Doesn&#039;t send confirmation email to customer)
// load up the customer we want to subscribe
$customer = Mage::getModel(&#039;customer/customer&#039;)
	-&gt;setWebsiteId(1)
	-&gt;loadByEmail($email);

// if we found the customer
if ($customer-&gt;getId()){
	// load up the subscriber if possible
	$subscriber = Mage::getModel(&#039;newsletter/subscriber&#039;)-&gt;loadByEmail($email);

    if (!$subscriber-&gt;getId()
		|| $subscriber-&gt;getStatus() == Mage_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED
        || $subscriber-&gt;getStatus() == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {

       	$subscriber-&gt;setStatus(Mage_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED);
           $subscriber-&gt;setSubscriberEmail($email);
       	$subscriber-&gt;setSubscriberConfirmCode($subscriber-&gt;RandomSequence());
    }

    $subscriber-&gt;setStoreId(Mage::app()-&gt;getStore()-&gt;getId());
    $subscriber-&gt;setCustomerId($customer-&gt;getId());

    try {
        $subscriber-&gt;save();
    }
    catch (Exception $e) {
        throw new Exception($e-&gt;getMessage());
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2011/01/04/programmatically-subscribing-a-customer-to-the-newsletter-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Module to Latch onto Magento Event</title>
		<link>http://blogs.ifuelinteractive.com/2010/08/18/module-magento-event/</link>
		<comments>http://blogs.ifuelinteractive.com/2010/08/18/module-magento-event/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 20:50:50 +0000</pubDate>
		<dc:creator>Robert Nicklin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Config.xml]]></category>
		<category><![CDATA[Dispatched Events]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Listeners]]></category>
		<category><![CDATA[Model]]></category>
		<category><![CDATA[Modules]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=264</guid>
		<description><![CDATA[Latching onto magento events is very simple &#8211; however, after a lot of searching I couldn&#8217;t find a lot of resources documenting how to do it.
I&#8217;ll more than likely research magento events a bit more in a later post, but for reference here is a cheatsheet of dispatched magento events Credit: Branko Ajzele of Active [...]]]></description>
			<content:encoded><![CDATA[<p>Latching onto magento events is very simple &#8211; however, after a lot of searching I couldn&#8217;t find a lot of resources documenting how to do it.</p>
<p>I&#8217;ll more than likely research magento events a bit more in a later post, but for reference here is a <a href="http://activecodeline.com/wp-content/uploads/2009/03/magento-events-cheat-sheet.pdf" target="_blank">cheatsheet of dispatched magento events</a> Credit: Branko Ajzele of Active Codeline. (a little outdated &#8211; from version 1.3)</p>
<p>Let&#8217;s keep it simple&#8230;<br />
The namespace for my module will be &#8220;Ifuel&#8221;<br />
The name of my module will be &#8220;Aftercheckout&#8221;</p>
<p>I will want to latch onto one of the many dispatched events during the checkout process (to name a few: checkout_controller_onepage_save_shipping_method, sales_order_place_after, checkout_type_onepage_save_order_after, checkout_onepage_controller_success_action). For reference about checkout events, check out <a href="http://www.yireo.com/tutorials/magento/magento-programming/106-events-with-magento-checkout" target="_blank">Yireo&#8217;s Events with Magento Checkout</a>. For this module, I want to execute my class after the order has been completely checked out &#8211; so I will latch onto the &#8220;checkout_onepage_controller_success_action&#8221; event.</p>
<p>Here is the bare bones of my config.xml file located at /app/code/local/Ifuel/Aftercheckout/etc/config.xml. Make sure to read the comments in the code, they&#8217;re helpful. P.s. don&#8217;t forget to declare your module in /app/etc/modules/</p>
<pre class="brush: php">
&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;config&gt;
    &lt;modules&gt;
        &lt;Ifuel_Aftercheckout&gt;
            &lt;version&gt;0.1.0&lt;/version&gt;
        &lt;/Ifuel_Aftercheckout&gt;
    &lt;/modules&gt;
    &lt;frontend&gt;
        &lt;routers&gt;
            &lt;aftercheckout&gt;
                &lt;use&gt;standard&lt;/use&gt;
                &lt;args&gt;
                    &lt;module&gt;Ifuel_Aftercheckout&lt;/module&gt;
                    &lt;frontName&gt;aftercheckout&lt;/frontName&gt;
                &lt;/args&gt;
            &lt;/aftercheckout&gt;
        &lt;/routers&gt;
    &lt;/frontend&gt;
    &lt;global&gt;
        &lt;events&gt;
            &lt;checkout_onepage_controller_success_action&gt;
			&lt;!-- The name of the event you&#039;re latching
			onto, all lowercase --&gt;
                &lt;observers&gt;
                    &lt;sendaftercheckout&gt;
					&lt;!-- Some description for your event
					listener, doesn&#039;t matter what it is
					as long as there are no spaces and
					it&#039;s all lowercase --&gt;
                        &lt;type&gt;singleton&lt;/type&gt;
                        &lt;class&gt;aftercheckout/doaftercheckout&lt;/class&gt;
						&lt;!-- the &lt;frontName&gt; of your module
						(aftercheckout) slash the name of your Event
						Listener (doaftercheckout), case sensitive.
						In this case it will be located at
						/app/code/local/Ifuel/Aftercheckout/Model
						/Doaftercheckout.php --&gt;
                        &lt;method&gt;sendSomethingAfterCheckout&lt;/method&gt;
						&lt;!-- the public function name within your
						class that will listen for this event,
						case sensitive --&gt;
                    &lt;/sendaftercheckout&gt;
                &lt;/observers&gt;
            &lt;/checkout_onepage_controller_success_action&gt;
        &lt;/events&gt;
    &lt;/global&gt;
&lt;/config&gt;
</pre>
<p>Now you&#8217;ll want to create your Listener. In my case it will be located at /app/code/local/Ifuel/Aftercheckout/Model/Doaftercheckout.php. Make sure to create a public function within your new class that you&#8217;ve defined in the &lt;method&gt; node of your config.xml file. The contents of my listener will look something like:</p>
<pre class="brush: php">
&lt;?php
class Ifuel_Aftercheckout_Model_Doaftercheckout {
	public function sendSomethingAfterCheckout() {
		Mage::log(&quot;I am now able to execute something after checkout&quot;);
	}
}
</pre>
<p>And that&#8217;s it. That&#8217;s the bare bones of latching onto a magento event. It&#8217;s that simple. If you have any questions, feel free to ask them in a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2010/08/18/module-magento-event/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tips and Tricks: Developing with Magento</title>
		<link>http://blogs.ifuelinteractive.com/2010/04/05/tips-and-tricks-developing-with-magento/</link>
		<comments>http://blogs.ifuelinteractive.com/2010/04/05/tips-and-tricks-developing-with-magento/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 20:54:05 +0000</pubDate>
		<dc:creator>Robert Nicklin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[file structure]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[Magento Guide]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=227</guid>
		<description><![CDATA[Things you Should Know Before Developing With Magento
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
Now being more experienced with Magento we definitely feel the need to share our findings with the masses. We only wish we knew these things prior to trying to the hack the crap out of magento to make it do what we want.
Turning on Template Path Hints
If you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-weight:bold;color:#3a3a3a;">Things you Should Know Before Developing With Magento</span></p>
<p><span style="color:DarkGray;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p>Now being more experienced with Magento we definitely feel the need to share our findings with the masses. We only wish we knew these things prior to trying to the hack the crap out of magento to make it do what we want.</p>
<p><span style="font-weight:bold;">Turning on Template Path Hints</span><br />
If you&#8217;re new to Magento you will realize that it is quite a hassle to understand the logic behind the file structure and block structure of a magento layout when trying to customize your storefront. There is a very under-publicized built-in magento feature that we&#8217;d like to share with you that should help you on your journey. Magento actually has the ability to display hints showing where the different files of your layout is contained so that you can edit it. </p>
<p><a href="http://blogs.ifuelinteractive.com/wp-content/uploads/2010/04/template-path-hints.jpg"><img src="http://blogs.ifuelinteractive.com/wp-content/uploads/2010/04/template-path-hints.jpg" alt="Magento&#039;s Built-In Template Path Hints" title="template-path-hints" width="600" height="178" /></a></p>
<p>To achieve this, Follow these simple steps&#8230;</p>
<ul>
<li>Log in to your administration panel. Go to Sytem > Configuration.</li>
<li>From the left navigation column on top there will be &#8220;Current Configuration Scope&#8221;. In the drop down menu select &#8220;Main Website&#8221;</li>
<li>Then navigate to Developer > Advance, also in the left navigation column.</li>
<li>Under &#8220;Debug&#8221; you&#8217;ll see Template Path Hints. Select Yes and click the Save Config button.</li>
</ul>
<p>Now when you navigate to your storefront you&#8217;ll see a bunch of red boxes displaying the underlying structure of the pages regarding templates and blocks. </p>
<p><span style="font-style: italic;font-size:11px;color:#707070;">Note: This should only be used in a development environment, considering this will make your storefront look hideous with big red blocks everywhere.</span></p>
<p><span style="color:DarkGray;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</span></p>
<p><span style="font-weight:bold;">Never edit core files</span><br />
Problem: When developing with Magento you will find it necesary to edit core files to achieve certain functionality. However, By editting a core file you are basically blocking yourself into a corner. DON&#8217;T DO IT! If you ever wish to upgrade at any point in the future you will not be able to because any changes that you have made in the core files will be overwritten. Never fear, there is a way around this. </p>
<p>Solution: The &#8220;local&#8221; folder (\app\code\local\) is your saviour. Say you need to edit the &#8220;Shipping.php&#8221; file located at &#8220;\app\code\core\Mage\Shipping\Model\Shipping.php&#8221; you can create the same basic directory structure in the local folder and copy and paste the Shipping.php file into the new directory. So, your new &#8220;local&#8221; Shipping.php file will be located at \app\code\local\Mage\Shipping\Model\Shipping.php. You will be able to safely edit anything and everything within that local file and never have to worry about it being overwritten during an upgrade. This trick works because Magento will look for files in a local directory before looking for a file in the core directory. </p>
<p><span style="font-style: italic;font-size:11px;color:#707070;">Note: The above solution will only overpower files that exist within the \app\code\core\ or \app\code\community\ directories. Also note that any files within your magento theme (\app\design\frontend\default\YOURTHEME\) or (\skin\frontend\default\YOURTHEME\) are not considered core files and you are free to edit them as you please. </span></p>
<p>These are just to name a few&#8230; <a href="http://blogs.ifuelinteractive.com/feed/rss/">Follow our blog to read more!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2010/04/05/tips-and-tricks-developing-with-magento/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using .htaccess Force Adding www. to URL for SSL Certificate Authentication</title>
		<link>http://blogs.ifuelinteractive.com/2010/03/09/using-htaccess-force-adding-www-to-url-for-ssl-certificate-authentication/</link>
		<comments>http://blogs.ifuelinteractive.com/2010/03/09/using-htaccess-force-adding-www-to-url-for-ssl-certificate-authentication/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:43:09 +0000</pubDate>
		<dc:creator>Robert Nicklin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=184</guid>
		<description><![CDATA[In this day and age of many online scams it is necessary for every successful eCommerce storefront to have SSL Authentication for online purchases. These SSL Certificates are usually only good for one specific URL and are very picky as to whether or not the URL has to have &#8220;www.&#8221; attached to it. Here is [...]]]></description>
			<content:encoded><![CDATA[<p>In this day and age of many online scams it is necessary for every successful eCommerce storefront to have SSL Authentication for online purchases. These SSL Certificates are usually only good for one specific URL and are very picky as to whether or not the URL has to have &#8220;www.&#8221; attached to it. Here is a simple solution that we&#8217;ve created to force appending &#8220;www.&#8221; to the URL when trying to access a &#8220;https://&#8221; (http secure) address.</p>
<p><strong><em>Some things you must know:</em></strong></p>
<ul>
<li>This will only work on an Apache server</li>
<li>You must have mod_rewrite installed under Apache</li>
</ul>
<p>First, Create an .htaccess file if you don&#8217;t already have one. Then enter one of the following solutions based on your needs.</p>
<h3>Force appending www. to only http secure (https://) requests</h3>
<pre>
<pre class="brush: php">

# Redirect non-www to www

	Options +FollowSymLinks
	# turn mod_rewrite on
	RewriteEngine On

	# If https send to https://www.
	RewriteCond %{HTTP_HOST} ^YOURDOMAIN.COM$ [NC]
	RewriteCond %{HTTPS} on
	RewriteRule ^(.*)$ https://www.YOURDOMAIN.COM/$1 [R=301,L]
</pre>
</pre>
<h3>Force appending www. to both http (http://) and http secure (https://) requests</h3>
<pre>
<pre class="brush: php">

# Redirect non-www to www

	Options +FollowSymLinks
	# turn mod_rewrite on
	RewriteEngine On

	# If https send to https://www.
	RewriteCond %{HTTP_HOST} ^YOURDOMAIN.COM$ [NC]
	RewriteCond %{HTTPS} on
	RewriteRule ^(.*)$ https://www.YOURDOMAIN.COM/$1 [R=301,L]

	# If http send to http://www.
	RewriteCond %{HTTP_HOST} ^YOURDOMAIN.COM$ [NC]
	RewriteCond %{HTTPS} off
	RewriteRule ^(.*)$ http://www.YOURDOMAIN.COM/$1 [R=301,L]
</pre>
</pre>
<p>With these examples it is necesary for you to make sure that you replace &#8220;YOURDOMAIN.COM&#8221; to reflect the actual domain name of the website you will be using this on. Once you have done this, save your .htaccess file and upload it to the base directory of your website.</p>
<p>Believe it or not a few search engines distinguish your website as two different websites <strong>http://www.</strong>yourdomain.com and <strong>http://</strong>yourdomain.com. It is often considered good practice to add this htaccess rewrite to any website you create so that you can rest assured that your website is not being indexed as two different websites.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2010/03/09/using-htaccess-force-adding-www-to-url-for-ssl-certificate-authentication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

