<?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>Devin R. Olsen Web Developer &#187; Devin R. Olsen</title>
	<atom:link href="http://www.devinrolsen.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devinrolsen.com</link>
	<description>From Developer to Developer Information and Sharing</description>
	<lastBuildDate>Fri, 20 Aug 2010 05:08:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Magento Determine if Current Page is Category or Not</title>
		<link>http://www.devinrolsen.com/magento-determine-if-current-page-is-category-or-not/</link>
		<comments>http://www.devinrolsen.com/magento-determine-if-current-page-is-category-or-not/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 06:22:29 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Magento Tutorials]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[Categories Page]]></category>
		<category><![CDATA[category]]></category>
		<category><![CDATA[Category Page]]></category>
		<category><![CDATA[Category Page Determin]]></category>
		<category><![CDATA[Determin Category Page]]></category>
		<category><![CDATA[Determine Category]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Magento Category]]></category>
		<category><![CDATA[Magento Category Page]]></category>
		<category><![CDATA[Magento Determine Category Page]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=863</guid>
		<description><![CDATA[Sometimes you find your self in the need to determine if the current page a visitor is viewing is of a category or not. The reason for this could drastically very, but one good reason is the need for a global element not be shown on any category page.]]></description>
			<content:encoded><![CDATA[<p>Sometimes you find your self in the need to determine if the current page a visitor is viewing is of a category or not. The reason for this could drastically very, but one good reason is the need for a global element not be shown on any category page.</p>
<p>It would be much faster to simply include this element or rather custom block globally to your Magento store via your layout XML files, and have a condition in this block&#8217;s .phtml file that excluded any output on category page.</p>
<p>This is a very simple method that simply looks to our Mage registry and asks the question &#8220;Is the current page indeed a current category page or not?&#8221;.</p>
<pre>php if(!Mage::registry('current_category')):?&gt;
//OUTPUT THE GLOBAL ELEMENTS CODE ON NONE-CATEGORY PAGES
php endif; ?&gt;</pre>
<p>Simple as that, of course the correct way would be to include this block globally via your XML layout files, and then remove it via XML (Custom Layout Update) in the backend-&gt;catalog-&gt;manage categories &#8220;Custom Design&#8221; tab for each category.</p>
<p>But this method might be faster.</p>
<p>Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/magento-determine-if-current-page-is-category-or-not/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Magento Product&#8217;s Relative Parent Category Method</title>
		<link>http://www.devinrolsen.com/magento-products-relative-parent-category-method/</link>
		<comments>http://www.devinrolsen.com/magento-products-relative-parent-category-method/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 00:14:12 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Magento Tutorials]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[category]]></category>
		<category><![CDATA[get parent category]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[parent categories]]></category>
		<category><![CDATA[parent category]]></category>
		<category><![CDATA[product categories]]></category>
		<category><![CDATA[products parent category]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=852</guid>
		<description><![CDATA[Today I want to quickly cover an area that I get asked about at least once a month, and that is "If a product belongs to more than one category.. how do I get the correct parent category while viewing a product through one category or the other?".]]></description>
			<content:encoded><![CDATA[<p>Today I want to quickly cover an area that I get asked about at least once a month, and that is &#8220;If a product belongs to more than one category.. how do I get the correct parent category while viewing a product through one category or the other?&#8221;.</p>
<p>With that said the, the biggest scenario for this need would be to determine the products parent category in order to perform something unique to the product&#8217;s page while viewing product&#8217;s page through one category or another.</p>
<p>This is a very simple method that assumes you have the product of question loaded up or rather, you are at the product level of your store in order to obtain some information about the products parent categories.</p>
<p>So here we go.</p>
<p>First you need to gather all the category id&#8217;s this product belongs to, so to do this we simply make a new variable called &#8220;$catIds&#8221; and gather all the category id&#8217;s like so:</p>
<pre>&lt;?php
$catIds = $_product-&gt;getCategoryIds();
?&gt;</pre>
<p>Next we simply need to point to the first category in this new &#8220;$catIds&#8221; variable array like so:</p>
<p>(Remembere the number 0 is = 1 or rather first in an array.)</p>
<pre>&lt;?php
$catIds = $_product-&gt;getCategoryIds();
$relativeCatId = $catIds[0];
?&gt;</pre>
<p>So now that we have gathered our relative parent category id, we can begin to load this category up in order to gather information from it and ultimately create a unique condition for our products page:</p>
<pre>&lt;?php
$catIds = $_product-&gt;getCategoryIds();
$relativeCatId  = $catIds[0];
$category = Mage::getModel("catalog/category")-&gt;load($relativeCatId);
?&gt;</pre>
<p>Now that we have loaded up our relative parent category into this new variable called &#8220;$category&#8221; we can then say, &#8220;Grab the category&#8217;s name, or even attributes to create some kind of condition.&#8221;, like so:</p>
<pre>&lt;?php
$catIds = $_product-&gt;getCategoryIds();
$relativeCatId   = $catIds[0];
$category =  Mage::getModel("catalog/category")-&gt;load($relativeCatId);
?&gt;
&lt;?php if($category-&gt;getName()  == "Category One"): ?&gt;
//DO THIS
&lt;?php elseif($category-&gt;getName()  == "Category Two"):?&gt;
//DO THAT
&lt;?php endif;?&gt;</pre>
<p>And that&#8217;s it!</p>
<p>So to recap, all we did was while under a product level, gathered all its parent category id&#8217;s into the variable &#8220;$catIds&#8221;. Once all category id&#8217;s we captured, we proceeded to highlight or rather grabbed our first category&#8217;s id from the array (0) and used it to load the category up. Once this category was loaded, we could access its attributes or information. We used the category&#8217;s information to build a condition and perform something unique to the product page depending on if its being viewed through one category or a completely different category.</p>
<p>Thanks Everyone!</p>
<p>Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/magento-products-relative-parent-category-method/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Obtain Custom Attribute Values in Magento</title>
		<link>http://www.devinrolsen.com/magento-custom-attributes-value/</link>
		<comments>http://www.devinrolsen.com/magento-custom-attributes-value/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 19:25:45 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Magento Tutorials]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[attribute]]></category>
		<category><![CDATA[attribute value]]></category>
		<category><![CDATA[attribute values]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[custom attribute]]></category>
		<category><![CDATA[custom attribute value]]></category>
		<category><![CDATA[custom attribute values]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[magento attribute value]]></category>
		<category><![CDATA[magento attribute values]]></category>
		<category><![CDATA[magento custom attribute]]></category>
		<category><![CDATA[magento custom attributes]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[values]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=813</guid>
		<description><![CDATA[Today let’s talk about Magento and custom attributes. With magento you can create as many custom attributes for your products as you like, but how does one then gather the values of a custom attribute? Here I will show you how to properly gather the value of any Magento custom attribute.]]></description>
			<content:encoded><![CDATA[<p>Today let’s talk about Magento and custom attributes. With Magento you can create as many custom attributes for your products as you like, and there are different attribute types such as:</p>
<ul>
<li>Text Field</li>
<li>Text Area</li>
<li>Date</li>
<li>Yes/No</li>
<li>Multiple Select</li>
<li>Dropdown</li>
<li>Price</li>
<li>Gallery</li>
<li>Media Image</li>
<li>Fixed Product Tax</li>
</ul>
<p>Because there are different types of attributes there are also different ways of obtaining an attributes value. If we were to create a new custom attribute called &#8220;<strong>theme_color</strong>” and the attribute was of a &#8220;<strong>Text Field</strong>” type, we could do something like the following at a product level (meaning a product is loaded) to obtain its value.</p>
<pre>&lt;?php
echo $_product-&gt;getThemeColor();
?&gt;</pre>
<p>$_product is the product of question we have loaded up and ready to work with, and we use &#8220;<strong>getThemeColor();</strong>” because our attribute was named &#8220;<strong>theme_color</strong>”. It’s important to realize that when calling out the value of an attribute with this method, we start with &#8220;get” and then capitalize the first letter of each word that is divided by a &#8220;_”.</p>
<p>Now this method would give us the value of a simple &#8220;<strong>Text Field</strong>” attribute but what if the attribute was a &#8220;<strong>Dropdown or a Multiple Select</strong>&#8221; type? Well if you try to use this &#8220;<strong>getYourAttributesName()</strong>&#8221; method on a none &#8220;<strong>Text Field</strong>” or &#8220;<strong>Textarea</strong>” attribute type you will most likely get nothing.</p>
<p>So how do we obtain the value of a &#8220;<strong>Dropdown or a Multiple Select</strong>&#8221; attribute type you ask? Well some would argue that you would do so via this method:</p>
<pre>&lt;?php
echo $_product-&gt;getAttributeText('theme_color');
?&gt;</pre>
<p>However, what this would do is return an array of the &#8220;<strong>Dropdown or Multiple Select</strong>&#8221; options instead of the value of the selected option you would have set. There is another way to obtain these types of attributes selected value and it looks like this:</p>
<pre>&lt;?php
$attributes = $_product-&gt;getAttributes();
$themeColor = $attributes['theme_color']-&gt;getFrontend()-&gt;getValue($_product);
echo $themeColor;
?&gt;</pre>
<p>With this method we are simply creating a new variable called &#8220;<strong>$attributes</strong>” and pointing to our &#8220;<strong>$_product</strong>” to then using the &#8220;<strong>getAttributes()</strong>” function to gather all the attributes of this product.</p>
<p>Once we have all the product&#8217;s attributes inside of the &#8220;<strong>$attributes</strong>” variable, we make another new variable called &#8220;<strong>$themeColor</strong>”. &#8220;<strong>$themeColor</strong>” then assigns its self to our &#8220;<strong>$attributes</strong>” array that we in turn call out our custom attribute <strong>[‘theme_color’]</strong>.</p>
<p>Once we have pointed to the custom attribute in the &#8220;<strong>$attributes</strong>” array, we simply run through the front end via the function &#8220;<strong>getFrontend()</strong>” and then pull the value down via &#8220;<strong>getValue($_product)</strong>”.</p>
<p>If we then echo our &#8220;<strong>$themeColor</strong>&#8221; you should get the value of your custom Drop Down or Multiple Select attribute to do what you will with it.</p>
<p>So to recap:</p>
<pre>
&lt;?php echo $_product-&gt;getThemeColor() ?&gt;
</pre>
<p>Would get the value of an attribute wholes type is of Text Field or Text Area’s</p>
<pre>
&lt;?php echo $_product-&gt;getAttributeText('theme_color')  ?&gt;
</pre>
<p>That will not give a value of a Text Field or Text Area attribute type but rather gather an array of all options in a Drop Down or Multiple Select attribute type.</p>
<pre>
&lt;?php
$attributes = $_product-&gt;getAttributes();
$themeColor = $attributes['theme_color']-&gt;getFrontend()-&gt;getValue($_product);
?&gt;
</pre>
<p>That will give you the value of any type of attribute, even the value from &#8220;<strong>Drop Down or Multiple Select</strong>&#8221; attribute types.</p>
<p>I hope this clears some things up and helps some developers out there .</p>
<p>Thanks!</p>
<p>Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/magento-custom-attributes-value/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pure CSS Menu With Infinite Sub Menus Tutorial</title>
		<link>http://www.devinrolsen.com/pure-css-menu-with-infinite-sub-menus-tutorial/</link>
		<comments>http://www.devinrolsen.com/pure-css-menu-with-infinite-sub-menus-tutorial/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 23:14:39 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>
		<category><![CDATA[CSS Infinite Menus]]></category>
		<category><![CDATA[CSS Menu]]></category>
		<category><![CDATA[CSS Menu Tutorial]]></category>
		<category><![CDATA[Infinite Menus]]></category>
		<category><![CDATA[Infinite Sub Menus]]></category>
		<category><![CDATA[pure css menu]]></category>
		<category><![CDATA[Pure CSS Menus]]></category>
		<category><![CDATA[Sub Menus]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=774</guid>
		<description><![CDATA[Today we are going to cover how to build a pure CSS menu with infinite sub menus; an area of CSS that is seldom talked about, poorly written or misconceived. This pure CSS menu with infinite sub menus technique makes use of CSS2 selectors so it will not work in IE6 and below without help [...]]]></description>
			<content:encoded><![CDATA[<p>Today we are going to cover how to build a pure CSS menu with infinite sub menus; an area of CSS that is seldom talked about, poorly written or misconceived. This pure CSS menu with infinite sub menus technique makes use of CSS2 selectors so it will not work in IE6 and below without help from JavaScript. With that said, this pure CSS menu with infinite sub menus technique will work in:</p>
<ul>
<li>IE7, IE8,</li>
<li>FireFox,</li>
<li>Safari</li>
<li>Opera</li>
</ul>
<p>This pure CSS menu with infinite sub menus technique  only uses 10 CSS rules making it EXTREMELY light weight. This technique also overcomes some funky IE bugs such as Ghost Hovers and Z-Indexing issues via pure CSS.</p>
<h3><a href="http://www.devinrolsen.com/wp-content/themes/typebased/demos/css/infinite-sub-menu" target="_blank"><strong>[CLICK HERE TO SEE DEMO OF TUTORIAL]</strong></a></h3>
<p>Lets Begin shall we? Start by creating a new html document and use the following code to make this lesson go smoother for everyone.</p>
<pre>
xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Devin R. Olsen - Pure CSS Menu &amp;amp;amp;amp;amp;amp;amp;amp;amp; Infinite Sub Menus&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;/body&gt;
</pre>
<p>In the body of our newly created document lets setup an unordered list with some list items like so.</p>
<pre>
&lt;ul&gt;
&lt;li&gt;Menu 1&lt;/li&gt;
&lt;li&gt;Menu 2&lt;/li&gt;
&lt;li&gt;Menu 3&lt;/li&gt;
&lt;li&gt;Menu 4&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>We start by giving our top-level un-ordered element an id of &#8220;nav&#8221; so we have some sort of unique identifier to reference to with our CSS. Next lets copy the whole thing and nest a second list into any of our first level list items and change its ID to a CLASS like so:</p>
<pre>
&lt;ul&gt;
&lt;li&gt;Menu 1
&lt;ul class="nav"&gt;
&lt;li&gt;Menu 1&lt;/li&gt;
&lt;li&gt;Menu 2&lt;/li&gt;
&lt;li&gt;Menu 3&lt;/li&gt;
&lt;li&gt;Menu 4&lt;/li&gt;
&lt;ul&gt;
&lt;/li&gt;
&lt;li&gt;Menu 2&lt;/li&gt;
&lt;li&gt;Menu 3&lt;/li&gt;
&lt;li&gt;Menu 4&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>That&#8217;s it for the HTML portion, just note that top-level list menu gets an id called &#8220;nav&#8221; while all nested sub menus get a class called &#8220;nav&#8221;. You can continue to nest as many menus you like in the same manner from here on out to meet your css menu desires.</p>
<p>Lets move onto the CSS portion. In the header of our document lets create some style tags that will house all our menus CSS like so:</p>
<pre>
&lt;style type="text/css"&gt;
&lt;/style&gt;
</pre>
<p>We will start with our most important reset and structure styles for our menu. First lets point to our #nav, .nav and #nav .nav li elements and reset their margin&#8217;s and padding&#8217;s to zero like so:</p>
<pre>#nav, .nav, #nav .nav li { margin:0px; padding:0px; }</pre>
<p>This is done to remove any default browser margin&#8217;s and padding&#8217;s automatically applied to these element types. Next lets point directly to our first level list items and give them some structure / style like so:</p>
<pre>#nav, .nav, #nav .nav li { margin:0px; padding:0px; }
#nav li {float:left; display:inline; cursor:pointer; list-style:none; padding:10px "&gt;0px 10px 0px 10px; border:1px #000 solid; position:relative; }</pre>
<p>Our menu will be of horizontal so we set the first level list items to a float of left and a display of inline. We also give the list items a list-style of none to remove browser default bullet points next to each list item. Last we give our list items a position of relative in order to prevent any child elements who may be positioned absolute from breaking out of the flow of design. The rest of the styles are of visual preference and up to the developer to change however they desire.</p>
<p>Next we must have some way to identify our top-level sub menus to from all the rest. We do this to give visual guidance on how our first level sub menu  is displayed against our top-level menu. To do this we must include a new class to our first level sub menus ONLY, called &#8220;first&#8221; like so:</p>
<pre>
&lt;ul&gt;
&lt;li&gt;Menu 1
&lt;ul class="nav first"&gt;
&lt;li&gt;Menu 1&lt;/li&gt;
&lt;li&gt;Menu 2&lt;/li&gt;
&lt;li&gt;Menu 3&lt;/li&gt;
&lt;li&gt;Menu 4&lt;/li&gt;
&lt;ul&gt;
&lt;/li&gt;
&lt;li&gt;Menu 2&lt;/li&gt;
&lt;li&gt;Menu 3&lt;/li&gt;
&lt;li&gt;Menu 4&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Again this is only for our &#8220;FIRST LEVEL SUB MENUS&#8221; that we apply this new &#8220;first&#8221; class to and not any of the rest of our further nested menus. Next lets point to these first level sub menus and set some structure rules via CSS like so:</p>
<pre>#nav, .nav, #nav .nav li { margin:0px; padding:0px; }
#nav li {float:left; display:inline; cursor:pointer; list-style:none; padding:10px "&gt;0px 10px 0px 10px; border:1px #000 solid; position:relative; }
#nav li ul.first {left:-1px; top:100%;}</pre>
<p>We give our first level sub menu&#8217;s a top percentage of 100 to make it fall directly below our top-level menu. Because our list items have a 1px border we give our first level menu items a left style that is negative 1 to assure our first sub menu&#8217;s fall completely to the left when being displayed.</p>
<p>Next lets start giving our elements some style rules. First we will point to all our list items and anchor links that any list item may carry like so:</p>
<pre>li, li a {color:#000;}</pre>
<p>Here we have set our list items and anchor tags any list item may carry to have a text color of black or rather #000. Next we will point to all our sub menu list items ONLY and give some structure and styles like so:</p>
<pre>li, li a {color:#000;}
#nav .nav li { width:100%; text-indent:10px; line-height:30px; margin-right:10px; border-top:1px #000 solid; border-bottom:1px #000 solid; border-left:none; border-right:none; background:#fff;}</pre>
<p>Note how we first pass through the #nav element before calling .nav li vs. just stating .nav li? This is important as its a fix to helps us over come some spacing issues due to our list item borders. The first style we give here is a width of 100% to insure our list items will completely span across its parents set width. The rest of the styles are up to the developer to change to however they like.</p>
<p>Next lets give some structure to our list item&#8217;s anchor elements like so:</p>
<pre>li, li a {color:#000;}
#nav .nav li { width:100%; text-indent:10px; line-height:30px; margin-right:10px; border-top:1px #000 solid; border-bottom:1px #000 solid; border-left:none; border-right:none; background:#fff;}
#nav li a {display:block; width:inherit; height:inherit;}</pre>
<p>We first point to all our list items and then search for all anchor tags, then we give each anchor tag a display of block and an inherited width and height from its own parent element.</p>
<p>Next lets begin adding our menus behavior styles such has hover and when to display a sub menu and when not to display a sub menu. This part is really where the magic happens and our ability to have a pure CSS menu with infinite sub menus come into play.</p>
<p>First we need to give our sub menus a rule to hide them self&#8217;s from view until told otherwise like so:</p>
<pre>ul.nav { display:none; }</pre>
<p>We add an extra measure of security here when dealing with the display none style by stating &#8220;ONLY un-ordered list elements who have a class of &#8220;nav&#8221; must by default be a display of none&#8221;.</p>
<p>Next we will set our behavior color styles for list items and list item anchor tags like so:</p>
<pre>ul.nav { display:none; }
#nav li:hover &gt; a, #nav li:hover { color:#fff; background:#000; }</pre>
<p>We first point to all our list items that are under a hover state, as well as all list item&#8217;s anchor tags while the list item is under a hover state. Then we set a text color of white or rather #fff and a background of black or rather #000. These styles are for the developer to change to their desired look and feel.</p>
<p>Next we must create a rule to display our sub menus when its parent list item is under a hovered state like so:</p>
<pre>ul.nav { display:none; }
#nav li:hover &gt; a, #nav li:hover { color:#fff; background:#000; }
li:hover &gt; .nav { display:block; }</pre>
<p>Here we are stating that all list items that are under a state of hovered who have a child element with the class of .nav (our sub menu) must be displayed. By using the CSS child selector (&gt;) we are also stating that only the first proceeding child sub menu must be displayed while all the rest remain hidden.</p>
<p>Next lets talk about how we fix yet another IE bug. This one is called the &#8220;IE:Hover Ghost Bug&#8221; and in its basics it leaves deeply nested sub menus in a state of constant display after being hovered. To fix this bug we simply look at our last style as a igniting point. By giving style and structure to our sub menus when told to be displayed, vs. having a constant rule that is always giving style and structure to our element at all times, we squash the IE bug. So we add the following styles to our last rule like so:</p>
<pre>ul.nav { display:none; }
#nav li:hover &gt; a, #nav li:hover { color:#fff; background:#000; }
li:hover &gt; .nav { display:block; position:absolute; width:200px; top:-2px; left:50%; z-index:1000; border:1px #000 solid;}</pre>
<p>The position absolute is crucial to allowing our sub menus to be positioned relatively to its parents location on the page. We also set a pre-defined width to our sub menus of 200px as well as offset the menu by top -2px (due to borders width) and by left 50% of its parent element. Last and most important style we give to our sub menus is a z-index of 1000 to make sure everything layers or rather sorts correctly.</p>
<p>Last thing we need to do is squash yet another IE bug that deals width z-index and properly sorting elements or rather layers. To do this we simple state that all sub menu&#8217;s parent elements (list items) must have a higher z-index value than the sub menu elements like so:</p>
<pre>ul.nav { display:none; }
#nav li:hover &gt; a, #nav li:hover { color:#fff; background:#000; }
li:hover &gt; .nav { display:block; position:absolute; width:200px; top:-2px; left:50%; z-index:1000; border:1px #000 solid;}
li:hover { position:relative; z-index:2000; }</pre>
<p>Pssst.. That&#8217;s it folks, that&#8217;s all the CSS you need to have a fully compleated Pure CSS Menu with infinite amounts of sub menus, enjoy!</p>
<p>Completed CSS Code:</p>
<pre>
#nav, .nav, #nav .nav li { margin:0px; padding:0px; }
#nav li {float:left; display:inline; cursor:pointer; list-style:none; padding:0px 10px 0px 10px; border:1px #000 solid; position:relative;}
#nav li ul.first {left:-1px; top:100%;}
li, li a {color:#000; text-decoration:none;}
#nav .nav li { width:100%; text-indent:10px; line-height:30px; margin-right:10px; border-top:1px #000 solid; border-bottom:1px #000 solid;
border-left:none; border-right:none; background:#fff;}
#nav li a {display:block; width:inherit; height:inherit;}
ul.nav { display:none; }
#nav li:hover &gt; a, #nav li:hover { color:#fff; background:#000; }
li:hover &gt; .nav { display:block; position:absolute; width:200px; top:-2px; left:50%; z-index:1000; border:1px #000 solid; }
li:hover { position:relative; z-index:2000; }
</pre>
<p>Thanks Everyone.<br />
Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/pure-css-menu-with-infinite-sub-menus-tutorial/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Magento Custom Category Listing Block</title>
		<link>http://www.devinrolsen.com/magento-custom-category-listing-block/</link>
		<comments>http://www.devinrolsen.com/magento-custom-category-listing-block/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 02:58:24 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Magento Tutorials]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[category]]></category>
		<category><![CDATA[category listing]]></category>
		<category><![CDATA[category listing magento]]></category>
		<category><![CDATA[custom category list block]]></category>
		<category><![CDATA[list of magento categories]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[magento categories list]]></category>
		<category><![CDATA[magento category listing]]></category>
		<category><![CDATA[magento custom block]]></category>
		<category><![CDATA[magento tutorial]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=753</guid>
		<description><![CDATA[Here I wanted to show you how to build a custom magento category listing block that you can use on your own magento store. We will go over each step at getting a category listing of your magneto categories and even a sub category listing.]]></description>
			<content:encoded><![CDATA[<p>Here I wanted to show you how to build a custom Magento category listing block that you can use on your own Magento store. We will go over each step at getting a category listing of your magneto categories and even a sub category listing.</p>
<p><object style="display:block; margin-left:auto; margin-right:auto;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="265" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/gt1ZF8mQxk4&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><param name="wmode" value="transparent" /><embed style="display:block; margin-left:auto; margin-right:auto;" type="application/x-shockwave-flash" width="425" height="265" src="http://www.youtube.com/v/gt1ZF8mQxk4&amp;hl=en_US&amp;fs=1&amp;color1=0x2b405b&amp;color2=0x6b8ab6" wmode="transparent" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here is the finished code for your new category listing block.</p>
<pre>&lt;?php
$cats = Mage::getModel('catalog/category')-&gt;load(2)-&gt;getChildren();
$catIds = explode(',',$cats);
?&gt;
&lt;ul&gt;
&lt;?php foreach($catIds as $catId): ?&gt;
	&lt;li&gt;
    	&lt;?php
			$category = Mage::getModel('catalog/category')-&gt;load($catId);
			echo $category-&gt;getName();
			$subCats = Mage::getModel('catalog/category')-&gt;load($category-&gt;getId())-&gt;getChildren();
			$subCatIds = explode(',',$subCats);
		?&gt;
            &lt;?php if(count($subCatIds) &gt; 1):?&gt;
                &lt;ul&gt;
                &lt;?php foreach($subCatIds as $subCat) :?&gt;
                    &lt;li&gt;
                    &lt;?php
                        $subCategory = Mage::getModel('catalog/category')-&gt;load($subCat);
                        echo $subCategory-&gt;getName();
                    ?&gt;
                    &lt;/li&gt;
                &lt;?php endforeach;?&gt;
                &lt;/ul&gt;
            &lt;?php endif; ?&gt;
    &lt;/li&gt;
&lt;?php endforeach; ?&gt;
&lt;/ul&gt;</pre>
<p>And The XML Block Code:</p>
<pre>&lt;block type="catalog/navigation" name="catalog.category" template="catalog/navigation/category.phtml" /&gt;</pre>
<p>NOTE:<br />
After loading each category you have a whole array of different attributes you can use. If you wanted to make each category listing be a link, simply use the getUrl() function in a similar fashion:</p>
<pre>&lt;a href="&lt;?php echo $category-&gt;getUrl()?&gt;"&gt;
	&lt;?php echo $category-&gt;getName()?&gt;
&lt;/a&gt;</pre>
<p>Enjoy everyone!<br />
Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/magento-custom-category-listing-block/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Collapse a Model&#8217;s Materials to a Single Texture</title>
		<link>http://www.devinrolsen.com/collapse-a-models-materials-to-a-single-texture/</link>
		<comments>http://www.devinrolsen.com/collapse-a-models-materials-to-a-single-texture/#comments</comments>
		<pubDate>Sat, 08 May 2010 04:02:33 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[3D Tutorials]]></category>
		<category><![CDATA[3ds max single material]]></category>
		<category><![CDATA[collapse materials]]></category>
		<category><![CDATA[collapse materials tutorial]]></category>
		<category><![CDATA[materials tutorial]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[model materials]]></category>
		<category><![CDATA[single material]]></category>
		<category><![CDATA[single material sheet]]></category>
		<category><![CDATA[single sheet]]></category>
		<category><![CDATA[unity3d materials]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=667</guid>
		<description><![CDATA[Here I will show you how to take further steps in lowering draw calls in Unity3d Game engine by collapsing multiple materials your models may contain into a single material. We will use 3d Studio Max&#8217;s UVW tools and render to texture tools to produce and collapse to our models single material.
]]></description>
			<content:encoded><![CDATA[<p>Here I will show you how to take further steps in lowering draw calls in Unity3d Game engine by collapsing multiple materials your models may contain into a single material. We will use 3d Studio Max&#8217;s UVW tools and render to texture tools to produce and collapse to our models single material.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="415" height="250" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/-KyKl7_K_tg&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" wmode="transparent" width="415" height="250" src="http://www.youtube.com/v/-KyKl7_K_tg&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/collapse-a-models-materials-to-a-single-texture/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Unity3d Custom Terrain Lightmap Tutorial</title>
		<link>http://www.devinrolsen.com/unity3d-custom-terrain-lightmap-tutorial/</link>
		<comments>http://www.devinrolsen.com/unity3d-custom-terrain-lightmap-tutorial/#comments</comments>
		<pubDate>Sat, 08 May 2010 04:00:59 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[3D Tutorials]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[lightmap]]></category>
		<category><![CDATA[lightmaps]]></category>
		<category><![CDATA[model lightmap]]></category>
		<category><![CDATA[model shadows]]></category>
		<category><![CDATA[shadows]]></category>
		<category><![CDATA[terrain]]></category>
		<category><![CDATA[terrain lightmap]]></category>
		<category><![CDATA[terrain shadows]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity 3d lightmaps]]></category>
		<category><![CDATA[unity lightmaps]]></category>
		<category><![CDATA[unity model shadows]]></category>
		<category><![CDATA[unity terrain shadow]]></category>
		<category><![CDATA[unity3d]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=665</guid>
		<description><![CDATA[Here I will be expanding my  first tutorial &#8220;Unity3d External Lightmap Tool&#8221; and show you how to cast  object&#8217;s shadows onto your terrain. We will setup a 3d studio max that  will be your master scene to bake either your terrain light maps or  objects light maps.
]]></description>
			<content:encoded><![CDATA[<p>Here I will be expanding my  first tutorial &#8220;Unity3d External Lightmap Tool&#8221; and show you how to cast  object&#8217;s shadows onto your terrain. We will setup a 3d studio max that  will be your master scene to bake either your terrain light maps or  objects light maps.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="415" height="250" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/LKBUUDG3VGI&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" wmode="transparent" width="415" height="250" src="http://www.youtube.com/v/LKBUUDG3VGI&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/unity3d-custom-terrain-lightmap-tutorial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How to Use Unity3d External Lightmap Tool</title>
		<link>http://www.devinrolsen.com/how-to-use-unity3d-external-lightmap-tool/</link>
		<comments>http://www.devinrolsen.com/how-to-use-unity3d-external-lightmap-tool/#comments</comments>
		<pubDate>Sat, 08 May 2010 03:59:19 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[3D Tutorials]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[lightmap]]></category>
		<category><![CDATA[lightmaps]]></category>
		<category><![CDATA[model lightmap]]></category>
		<category><![CDATA[model shadows]]></category>
		<category><![CDATA[shadows]]></category>
		<category><![CDATA[unity]]></category>
		<category><![CDATA[unity 3d lightmaps]]></category>
		<category><![CDATA[unity lightmaps]]></category>
		<category><![CDATA[unity model shadows]]></category>
		<category><![CDATA[unity3d]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=661</guid>
		<description><![CDATA[In this outdoor environment I will be showing you how to both prepare your 3d models for use of the &#8220;External Lightmap Tool&#8221; and how exactly to use the lightmap tool and achieve almost photo realistic lighting and shadows for your unity3d models.
]]></description>
			<content:encoded><![CDATA[<p>In this outdoor environment I will be showing you how to both prepare your 3d models for use of the &#8220;External Lightmap Tool&#8221; and how exactly to use the lightmap tool and achieve almost photo realistic lighting and shadows for your unity3d models.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="415" height="334" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/pUwFteZBjw8&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="415" wmode="transparent" height="334" src="http://www.youtube.com/v/pUwFteZBjw8&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/how-to-use-unity3d-external-lightmap-tool/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Build jQuery Lava Lamp Menu Tabs</title>
		<link>http://www.devinrolsen.com/build-jquery-lava-lamp-menu-tabs/</link>
		<comments>http://www.devinrolsen.com/build-jquery-lava-lamp-menu-tabs/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 09:05:00 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[CSS Tutorials]]></category>
		<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[css menu tabs]]></category>
		<category><![CDATA[javascript menu tabs]]></category>
		<category><![CDATA[jquery lava lamp]]></category>
		<category><![CDATA[jquery menu tabs]]></category>
		<category><![CDATA[lava lamp menu]]></category>
		<category><![CDATA[lava lamp menu tabs]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=567</guid>
		<description><![CDATA[Here I am going to show you how to build "Lava Lam"p menu tabs. We will be using CSS / jQuery and a single image to maintain a 100% stretchy rounded corners menu tab or lava bubble if you will. This version of the Lava Lamp menu tabs works in IE6+ and all other browsers! ]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="alignnone size-full wp-image-569" title="equation" src="http://www.devinrolsen.com/wp-content/uploads/2009/12/equation1.gif" alt="equation" width="372" height="89" /></p>
<h3><a href="http://www.devinrolsen.com/wp-content/themes/typebased/demos/jquery/lavalamp" title="Lava Lamp Tutorial Example Demo">Click Here to See This Tutorial&#8217;s Example Demo</a></h3>
<p><object width="440" height="345"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8502892&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><param name="wmode" value="transparent" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8502892&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" wmode="transparent" allowscriptaccess="always" width="440" height="345"></embed></object>
<p><a href="http://vimeo.com/8502892">How to Build jQuery Lava Lamp Menu Tabs</a> from <a href="http://vimeo.com/user2898580">Devin R. Olsen</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>This effect is called &#8220;animated rounded menu tabs&#8221;. It&#8217;s a neat little effect that will work in all browsers including IE6+. somethings to note is that this technique uses a single image for its four corners and is stretchy in both width and height!</p>
<p>We are also using the jQuery JS lib to ensure our JS works across all browsers but also to cut  down on the amount of JS we uses to make this great effect. Here is the link I use in the video tutorial to use the jQuery lib from Google&#8217;s online repository.</p>
<pre>http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js</pre>
<p>Here is the full source if you want to just get down to studying the code.</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Devin R. Olsen - Lava Lamp Menu Tabs&lt;/title&gt;
&lt;style type="text/css"&gt;
#nav {width:500px;  background:#333; margin:0px; padding:0px 0px 0px 20px; color:#fff; position:relative;}
#nav li {float:left; display:inline; list-style:none; line-height:35px; position:relative; z-index:3;}
#nav li a { padding:0px 10px 0px; cursor:pointer; font-size:12px; display:inline; color:#fff;}
#nav li.rounder { position:absolute; left:0px; top:0px; margin:0px; padding:0px; display:none; z-index:2;}
#nav li.rounder img {position:absolute;}
.cornersWrap {position:relative; height:25px; width:auto; margin-top:5px; background:#fff;}
#nav, #nav li, #nav li a, #nav li.rounder {height:35px;}
#tl,#tr,#bl,#br {position:absolute; width:8px; height:8px; overflow:hidden;}
#tr,#tl {top:0px;}
#br,#bl {bottom:0px;}
#tr,#br {right:0px;}
#tl,#bl {left:0px;}
#tr img,#br img {left:-8px;}
#bl img,#br img {top:-8px;}
&lt;/style&gt;
&lt;script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
$(document).ready(function(){
	$("#nav li a").mouseover(function(){
		$("#nav li a").each(function(count){
			$(this).css({color:"#fff"});
		});
		$(this).css({color:"#000"});
		var offL =  $(this).offset().left - $("#nav").offset().left;
		var offW = $(this).width() + parseInt($(this).css("paddingLeft")) * 2;
		$("li.rounder").stop().animate({left:offL+"px", width:offW+"px"},295,function(){
			//IE6 1px Fix
			var trOff = $("#tr").offset().left + parseInt($("#tr").css("width"));
			var wrapWOff = $(".rounder").offset().left + parseInt($(".rounder").css("width"));
			var brOff = $("#br").offset().top + parseInt($("#br").css("height"));
			var wrapHOff = $(".cornersWrap").offset().top + parseInt($(".cornersWrap").css("height"));
			if(wrapWOff &gt; trOff){
				$("#tr,#br").attr("class","rFix");
			}
			$(".rFix").css({right:"-1px"});
			if(wrapHOff &gt; brOff){
				$("#br,#bl").attr("class","bFix");
			}
			$(".bFix").css({bottom:"-1px"});
		});
	});
});
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
	&lt;div&gt;
    	&lt;ul id="nav"&gt;
        	&lt;li&gt;&lt;a href="#"&gt;Short&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Kinda Long&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Kinda Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;Really Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a href="#"&gt;A Really Lot Longer&lt;/a&gt;&lt;/li&gt;
            &lt;li class="rounder"&gt;
            	&lt;div class="cornersWrap"&gt;
                    &lt;div id="tl"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/typebased/images/rounder.gif" /&gt;&lt;/div&gt;
                    &lt;div id="tr"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/typebased/images/rounder.gif" /&gt;&lt;/div&gt;
                    &lt;div id="bl"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/typebased/images/rounder.gif" /&gt;&lt;/div&gt;
                    &lt;div id="br"&gt;&lt;img src="http://www.devinrolsen.com/wp-content/themes/typebased/images/rounder.gif" /&gt;&lt;/div&gt;
                &lt;/div&gt;
            &lt;/li&gt;
        &lt;/ul&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/build-jquery-lava-lamp-menu-tabs/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>How to build a jQuery lightbox!</title>
		<link>http://www.devinrolsen.com/how-to-build-a-jquery-lightbox/</link>
		<comments>http://www.devinrolsen.com/how-to-build-a-jquery-lightbox/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 05:56:59 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[build lightbox]]></category>
		<category><![CDATA[how to build lightbox]]></category>
		<category><![CDATA[jquery lightbox]]></category>
		<category><![CDATA[lightbox]]></category>
		<category><![CDATA[make a lightbox]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=562</guid>
		<description><![CDATA[Today I want to talk about everything lightbox! I want to not only show you how to build a lightbox with css and jQuery but also expose the road blocks solutions any normal developer runs when building a lightbox. I will also show you how to build the lightbox so that it works in IE6, IE7 and IE8 as well as all other major browsers.]]></description>
			<content:encoded><![CDATA[<p>Today I want to talk about EVERYTHING lightbox. I want to show you how to build your own lightbox using jQuery and CSS. Not only build it but explain to you the road blocks and work arounds any normal developer would run into. We will go over each step on how to make the lightbox work in IE6, IE7 and IE8 as well as all other browsers.</p>
<p><object id="stVEpSQEJIR19eQF9UWFNYXlFS" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="video=stVEpSQEJIR19eQF9UWFNYXlFS" /><param name="src" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowfullscreen" value="true" /><param name="wmode" value="transparent" /><embed id="stVEpSQEJIR19eQF9UWFNYXlFS" type="application/x-shockwave-flash" width="425" height="344" src="http://www.screentoaster.com/swf/STPlayer.swf" wmode="transparent" flashvars="video=stVEpSQEJIR19eQF9UWFNYXlFS" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Here is the completed code if you just want to study the little guy.</p>
<pre>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;title&gt;Everything You Need to Know About a Lightbox!&lt;/title&gt;
&lt;script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"&gt;&lt;/script&gt;
&lt;style type="text/css"&gt;
#lightBox {width:100%; margin:50px 0px; text-align:center; display:none;}
#lightWrap {width:400px; background:#000; border:2px #ccc solid; margin:auto; color:#fff; position:relative;  z-index:2;}
#shade {width:100%; height:100%; position:absolute; top:0px; left:0px; background:#000; -moz-opacity:0.5; -khtml-opacity:0.5; opacity:0.5; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); display:none; z-index:1;}
#closeBox { width:16px; height:16px; line-height:15px; background:#F36; position:absolute; top:5px; right:10px; cursor:pointer;}
&lt;/style&gt;
&lt;script&gt;
$(document).ready(function(){
	$("#action").click(function(){
		$("#lightBox").fadeIn("fast");
		if($("body").height() &gt; $("body").offset().height){
				var sH = $("body").height();
			}else{
				var sH = $("body").offset().height;
		}
		$("#shade").css({height:sH+'px',}).slideDown("fast");
		$("#closeBox").click(function(){
			$("#lightBox").fadeOut("fast");
			$("#shade").slideUp("fast");
		});
	});
});
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;button id="action"&gt;Click Me&lt;/button&gt;
&lt;div id="lightBox"&gt;
	&lt;div id="lightWrap"&gt;
    	&lt;div id="closeBox"&gt;X&lt;/div&gt;
    	&lt;h2&gt;HELLO This is my very own custom built lightbox!!&lt;/h2&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div id="shade"&gt;&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Thanks Everyone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/how-to-build-a-jquery-lightbox/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Drag 2 Share with CSS and jQuery</title>
		<link>http://www.devinrolsen.com/drag-2-share-css-and-jquery-tutorial/</link>
		<comments>http://www.devinrolsen.com/drag-2-share-css-and-jquery-tutorial/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 04:43:47 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[JavaScript Tutorials]]></category>
		<category><![CDATA[drag and share]]></category>
		<category><![CDATA[drag share tutorial]]></category>
		<category><![CDATA[drag to share]]></category>
		<category><![CDATA[jquery drag tutorial]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=556</guid>
		<description><![CDATA[Makes sharing fun again! Here I am going to show you how I built my "Drag 2 Share" blog feature. We will be using CSS and jQuery. This effect will work in IE6, IE7 and IE8, FireFox, Safari and Google Chrome. I also included a zip of the project that you can study and expand upon.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><strong><a title="jQuery / CSS Drag 2 Share" href="http://www.devinrolsen.com/Drag2Share.zip">Download your copy HERE!</a></strong></p>
<p style="text-align: left;">Ok here we are going to learn how to build the &#8220;Drag 2 Share&#8221; feature you see on my blogs. This little guy is just what your visitors need to feel like they are having fun when sharing. In its own little way it finally makes sharing FUN!</p>
<p><object id="stVEpSQEJIR19fSFlUU19ZUVZd" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="video=stVEpSQEJIR19fSFlUU19ZUVZd" /><param name="src" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowfullscreen" value="true" /><param name="wmode" value="transparent" /><embed id="stVEpSQEJIR19fSFlUU19ZUVZd" type="application/x-shockwave-flash" width="425" height="344" src="http://www.screentoaster.com/swf/STPlayer.swf" wmode="transparent" flashvars="video=stVEpSQEJIR19fSFlUU19ZUVZd" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/drag-2-share-css-and-jquery-tutorial/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Magento &#8211; How to import and export your products</title>
		<link>http://www.devinrolsen.com/magento-import-and-export-products/</link>
		<comments>http://www.devinrolsen.com/magento-import-and-export-products/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 20:02:17 +0000</pubDate>
		<dc:creator>Devin R. Olsen</dc:creator>
				<category><![CDATA[Magento Tutorials]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Magento Product Export]]></category>
		<category><![CDATA[Magneto Product Import]]></category>
		<category><![CDATA[Product Export]]></category>
		<category><![CDATA[product export csv]]></category>
		<category><![CDATA[Product Import]]></category>
		<category><![CDATA[product import csv]]></category>
		<guid isPermaLink="false">http://www.devinrolsen.com/?p=531</guid>
		<description><![CDATA[Learn how to import and export product in and out of Magento Commerce with a single .CSV file.]]></description>
			<content:encoded><![CDATA[<p>Here I will show you how to use Magento&#8217;s product  importing and exporting feature. I will first export a simple product out to obtain an overview of Magento&#8217;s required CSV format. Then I will demonstrate how to import all your product into Magento with this single CSV file.</p>
<p><object id="stVEpSQEJIR19fRllbXVNaUlVT" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="video=stVEpSQEJIR19fRllbXVNaUlVT" /><param name="src" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowfullscreen" value="true" /><param name="wmode" value="transparent" /><embed id="stVEpSQEJIR19fRllbXVNaUlVT" type="application/x-shockwave-flash" width="425" height="344" wmode="transparent" src="http://www.screentoaster.com/swf/STPlayer.swf" flashvars="video=stVEpSQEJIR19fRllbXVNaUlVT" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Thanks!<br />
Devin R. Olsen</p>
]]></content:encoded>
			<wfw:commentRss>http://www.devinrolsen.com/magento-import-and-export-products/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
