<?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>Ecommerce Developer</title>
	<atom:link href="http://ecommercedeveloper.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ecommercedeveloper.com</link>
	<description>Strategies, Tips, How-to</description>
	<lastBuildDate>Mon, 28 Jan 2013 17:57:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>An Introduction to the LESS Dynamic Stylesheet Language</title>
		<link>http://ecommercedeveloper.com/articles/An-Introduction-to-the-LESS-Dynamic-Stylesheet-Language/</link>
		<comments>http://ecommercedeveloper.com/articles/An-Introduction-to-the-LESS-Dynamic-Stylesheet-Language/#comments</comments>
		<pubDate>Mon, 15 Oct 2012 14:20:01 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925120</guid>
		<description><![CDATA[LESS is a JavaScript library that extends cascading stylesheets (CSS), allowing the style language to support variables, nested rules, operations, functions, and mixins.
Alexis Sellier — who also goes by Cloudhead — developed LESS to help himself and other coders write, well, less CSS. 
Installing LESS
LESS ... ]]></description>
				<content:encoded><![CDATA[<p><strong>LESS is a JavaScript library</strong> that extends cascading stylesheets (CSS), allowing the style language to support variables, nested rules, operations, functions, and mixins.</p>
<p><a href=”http://cloudhead.io”>Alexis Sellier</a> — who also goes by Cloudhead — developed <a href=”http://lesscss.org”>LESS</a> to help himself and other coders write, well, less CSS. </p>
<h3>Installing LESS</h3>
<p>LESS is very simple to use. Just include the JavaScript file in the head section of an HTML document.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;less-1.3.0.min.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;script src="less-1.3.0.min.js"&gt;&lt;/script&gt;</pre></div></div>

<p>The stylesheet that contains the LESS descriptions, should proceed the library. Notice that the extension is “less” and the “rel” attribute value is “stylesheet/less.”</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>link rel<span class="sy0">=</span><span class="st0">&quot;stylesheet/less&quot;</span> media<span class="sy0">=</span><span class="st0">&quot;all&quot;</span> href<span class="sy0">=</span><span class="st0">&quot;style.less&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;less-1.3.0.min.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;link rel="stylesheet/less" media="all" href="style.less"/&gt;
&lt;script src="less-1.3.0.min.js"&gt;&lt;/script&gt;</pre></div></div>

<h3>Using Variables with LESS</h3>
<p>Variables, which are common in many languages, are not native to CSS, but LESS adds them. Declaring a LESS variable begins with the “@” symbol followed by the variable name, a colon, the value, and a semicolon.</p>
<p>Here are four examples that name font families, colors, and padding values.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">@</span>advert<span class="sy0">:</span> <span class="st0">'Advent Pro'</span><span class="sy0">,</span> sans<span class="sy0">-</span>serif<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">@</span>red<span class="sy0">:</span> #9d0000<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1"><span class="sy0">@</span>black<span class="sy0">:</span> #<span class="nu0">111</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">@</span>pad<span class="sy0">:</span> 5px <span class="nu0">0</span> 10px 50px<span class="sy0">;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">@advert: 'Advent Pro', sans-serif;
@red: #9d0000;
@black: #111;
@pad: 5px 0 10px 50px;</pre></div></div>

<p>These variables may be applied to any style definition. Notice the padding, background, and font-family declarations in the example.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">header <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; width<span class="sy0">:</span> <span class="nu0">100</span><span class="sy0">%;</span></div></li>
<li class="li1"><div class="de1">&nbsp; height<span class="sy0">:</span> 35px<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; margin<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; padding<span class="sy0">:</span> <span class="sy0">@</span>pad<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; background<span class="sy0">:</span> <span class="sy0">@</span>black <span class="sy0">*</span> <span class="nu0">7</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; color<span class="sy0">:</span> white<span class="sy0">;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; font<span class="sy0">-</span>family<span class="sy0">:</span> <span class="sy0">@</span>advert<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; font<span class="sy0">-</span>weight<span class="sy0">:</span> normal<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">header { 
	width: 100%;
	height: 35px;
	margin: 0;
	padding: @pad;
	background: @black * 7;
	color: white; 
	font-family: @advert;
	font-weight: normal;
}</pre></div></div>

<p>LESS allows operations on variables too. Notice that the value of background declaration in the example above is actually the value of the @black variable times 7.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">background<span class="sy0">:</span> <span class="sy0">@</span>black <span class="sy0">*</span> <span class="nu0">7</span><span class="sy0">;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">background: @black * 7;</pre></div></div>

<p>Since the value of the variable @black is #111, when it is multiplied in LESS its value is changed to #777, which is a medium gray. To get a purer, if you will, black, 111 could have been subtracted from @black.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">background<span class="sy0">:</span> <span class="sy0">@</span>black <span class="sy0">-</span> <span class="nu0">111</span><span class="sy0">;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">background: @black - 111;</pre></div></div>

<h3>Nested Rules</h3>
<p>After variables, LESS&#8217; nested rules are, perhaps, the most significant and useful tool the library provides, allowing rules to be applied to child elements in line with other style declarations.</p>
<p>As a minimal example, consider the case of adding a hover effect to a particular anchor tag.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">a <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; color<span class="sy0">:</span> white<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; text<span class="sy0">-</span>decoration<span class="sy0">:</span> none<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&amp;:</span>hover <span class="br0">&#123;</span> text<span class="sy0">-</span>decoration<span class="sy0">:</span> underline<span class="sy0">;</span> <span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">a { 
	color: white;
	text-decoration: none;
	&amp;:hover { text-decoration: underline; }	
}</pre></div></div>

<p>Notice how both the standard and hover states are described in the same declaration. Below is how this same style description might look in CSS without LESS.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">a <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; color<span class="sy0">:</span> white<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; text<span class="sy0">-</span>decoration<span class="sy0">:</span> none<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">a<span class="sy0">:</span>hover <span class="br0">&#123;</span> text<span class="sy0">-</span>decoration<span class="sy0">:</span> underline<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">a {
	color: white;
	text-decoration: none;
}

a:hover { text-decoration: underline; }</pre></div></div>

<p>When just a single nested declaration is used, the LESS feature may not seem like it is doing much, but as the nested structure becomes more complicated, the benefits start to become obvious. Consider this style declaration for a nav element. Notice that the anchor tags, unordered list, and list items are all nested.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">nav<span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; width<span class="sy0">:</span> <span class="nu0">100</span><span class="sy0">%;</span></div></li>
<li class="li1"><div class="de1">&nbsp; margin<span class="sy0">:</span> 10px <span class="nu0">0</span> <span class="nu0">0</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; padding<span class="sy0">:</span> <span class="sy0">@</span>pad<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; background<span class="sy0">:</span> <span class="sy0">@</span>red<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; font<span class="sy0">-</span>family<span class="sy0">:</span> <span class="sy0">@</span>advert<span class="sy0">;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; font<span class="sy0">-</span>size<span class="sy0">:</span> 20px<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; a <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; color<span class="sy0">:</span> white<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; text<span class="sy0">-</span>decoration<span class="sy0">:</span> none<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&amp;:</span>hover <span class="br0">&#123;</span> text<span class="sy0">-</span>decoration<span class="sy0">:</span> underline<span class="sy0">;</span> <span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; ul<span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; margin<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; padding<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; list<span class="sy0">-</span>style<span class="sy0">:</span> none<span class="sy0">;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; li <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; margin<span class="sy0">-</span>right<span class="sy0">:</span> 25px<span class="sy0">;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; margin<span class="sy0">-</span>top<span class="sy0">:</span> 5px<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; display<span class="sy0">:</span> inline<span class="sy0">;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">nav{ 
	width: 100%;
	margin: 10px 0 0 0;
	padding: @pad;
	background: @red;
	font-family: @advert; 
	font-size: 20px;
	a { 
		color: white;
		text-decoration: none;
		&amp;:hover { text-decoration: underline; }	
	}
	ul{
		margin: 0;
		padding: 0;
		list-style: none;	
		li { 
			margin-right: 25px; 
			margin-top: 5px;
			display: inline; 
		}
	}
}</pre></div></div>

<h3>Applying Mixins</h3>
<p>Another popular LESS feature is the ability to include mixins. Simply put, a mixin applies the style declarations from one class to another.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">.<span class="me1">science</span><span class="sy0">-</span>fiction <span class="br0">&#123;</span> margin<span class="sy0">:</span> 50px <span class="nu0">0</span> <span class="nu0">0</span> 50px<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">#books <span class="br0">&#123;</span> .<span class="me1">science</span><span class="sy0">-</span>fiction<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">.science-fiction { margin: 50px 0 0 50px; }
#books { .science-fiction; }</pre></div></div>

<p>In this example, both the science-fiction class and the books element would have the same margin value.</p>
<p>Mixins may also include variable values, similar to functions in other languages. In the example, below the science-fiction class would have a margin of 50px all around while the books element would have a margin of 25px all around.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">.<span class="me1">science</span><span class="sy0">-</span>fiction <span class="br0">&#40;</span> <span class="sy0">@</span>margin<span class="sy0">:</span> 50px <span class="br0">&#41;</span> <span class="br0">&#123;</span> margin<span class="sy0">:</span> <span class="sy0">@</span>margin<span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">#books <span class="br0">&#123;</span> .<span class="me1">science</span><span class="sy0">-</span>fiction<span class="br0">&#40;</span> 25px <span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">.science-fiction ( @margin: 50px ) { margin: @margin}
#books { .science-fiction( 25px ); }</pre></div></div>

<h3>Summing Up</h3>
<p>LESS is a JavaScript library built to extend CSS and allow coders to write effective and more concise style declarations. The library adds many features to CSS, including the support for variables, nested rules, and mixins, as described here.</p>
<p>This is just scratching the surface of what can be done with LESS, but it is a good start.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/An-Introduction-to-the-LESS-Dynamic-Stylesheet-Language/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Creating Elementary Lists in jQuery Mobile</title>
		<link>http://ecommercedeveloper.com/articles/Creating-Elementary-Lists-in-jQuery-Mobile/</link>
		<comments>http://ecommercedeveloper.com/articles/Creating-Elementary-Lists-in-jQuery-Mobile/#comments</comments>
		<pubDate>Mon, 08 Oct 2012 21:28:56 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925113</guid>
		<description><![CDATA[Mobile websites and mobile web applications have become an important part of nearly every ecommerce business. The most popular mobile user interface is likely a list. Fortunately, the jQuery Mobile Framework makes creating lists easy.
Lists, as a user interface, are not hard to describe. Simply, ... ]]></description>
				<content:encoded><![CDATA[<p><strong>Mobile websites and mobile web applications</strong> have become an important part of nearly every ecommerce business. The most popular mobile user interface is likely a list. Fortunately, the jQuery Mobile Framework makes creating lists easy.</p>
<p>Lists, as a user interface, are not hard to describe. Simply, they list links, specifications, options, or navigation to make those elements easier for users to understand and use. A list&#8217;s versatility is the reason that list views are a very frequent component in mobile design.</p>
<h3>A Basic List View</h3>
<p>In the context of the jQuery Mobile Framework, the most basic list view is an unordered list with the data-role attribute of “listview.” </p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>ul data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;listview&quot;</span> <span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;suits.html&quot;</span><span class="sy0">&gt;</span>Suits<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;shirts.html&quot;</span><span class="sy0">&gt;</span>Shirts<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;ties.html&quot;</span><span class="sy0">&gt;</span>Ties<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;shoes.html&quot;</span><span class="sy0">&gt;</span>Shoes<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;ul data-role="listview" &gt;
	&lt;li&gt;&lt;a href="suits.html"&gt;Suits&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="shirts.html"&gt;Shirts&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="ties.html"&gt;Ties&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="shoes.html"&gt;Shoes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>

<p>The jQuery Mobile Framework will use a theme to render the unordered list as a finger-friendly interface. Don&#8217;t forget that for a list item to be tappable it should include an anchor element.</p>
<div id="attachment_925115" class="wp-caption alignnone" style="width: 741px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/10/mobile-basic-list.png" alt="A basic list view example using jQuery Mobile Framework." title="mobile-basic-list" width="731" height="451" class="size-full wp-image-925115" /><p class="wp-caption-text">A basic list view example using jQuery Mobile Framework.</p></div>
<p>One point to remember is that jQuery Mobile will not wrap the list item&#8217;s content. Rather if the content width exceeds the available space, ellipses are used. As a rule, therefore, it is a good idea to limit the list item&#8217;s content.</p>
<h3>Divided Lists</h3>
<p>jQuery Mobile is also able to make divided lists or lists with sub-heads. These can be helpful for adding informational content. To create one of these dividers, which can be styled individually, add the data-role “divider” to a list item, which does not include a link.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>ul data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;listview&quot;</span> <span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>li data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;divider&quot;</span><span class="sy0">&gt;</span>Clothing<span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;suits.html&quot;</span><span class="sy0">&gt;</span>Suits<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;shirts.html&quot;</span><span class="sy0">&gt;</span>Shirts<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;ties.html&quot;</span><span class="sy0">&gt;</span>Ties<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>li data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;divider&quot;</span> data<span class="sy0">-</span>theme<span class="sy0">=</span><span class="st0">&quot;g&quot;</span><span class="sy0">&gt;</span>Footwear<span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;shoes.html&quot;</span><span class="sy0">&gt;</span>Shoes<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;ul data-role="listview" &gt;
	&lt;li data-role="divider"&gt;Clothing&lt;/li&gt;
	&lt;li&gt;&lt;a href="suits.html"&gt;Suits&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="shirts.html"&gt;Shirts&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="ties.html"&gt;Ties&lt;/a&gt;&lt;/li&gt;
	&lt;li data-role="divider" data-theme="g"&gt;Footwear&lt;/li&gt;
	&lt;li&gt;&lt;a href="shoes.html"&gt;Shoes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>

<div id="attachment_925116" class="wp-caption alignnone" style="width: 848px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/10/mobile-divider.png" alt="jQuery Mobile also makes divided list views." title="mobile-divider" width="838" height="536" class="size-full wp-image-925116" /><p class="wp-caption-text">jQuery Mobile also makes divided list views.</p></div>
<h3>Creating Nested Lists</h3>
<p>jQuery Mobile also supports using nested lists, which the platform treats like sub-pages. As an example, when a user clicks on an item in the parent list, the nested list is shown as a separate page. It is important to note that jQuery Mobile does not necessarily require each and every page to be a new HTML document. Rather a single HTML file many contain many mobile pages.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>ul data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;listview&quot;</span> <span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;womens.html&quot;</span><span class="sy0">&gt;</span>Women<span class="st0">'s&lt;/a&gt;&lt;/li&gt;</span></div></li>
<li class="li1"><div class="de1"><span class="st0">&nbsp; &lt;li&gt;Men'</span>s</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>ul data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;listview&quot;</span> <span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;divider&quot;</span><span class="sy0">&gt;</span>Clothing<span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;suits.html&quot;</span><span class="sy0">&gt;</span>Suits<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;shirts.html&quot;</span><span class="sy0">&gt;</span>Shirts<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;ties.html&quot;</span><span class="sy0">&gt;</span>Ties<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;divider&quot;</span><span class="sy0">&gt;</span>Footwear<span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;shoes.html&quot;</span><span class="sy0">&gt;</span>Shoes<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1"><span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;ul data-role="listview" &gt;
	&lt;li&gt;&lt;a href="womens.html"&gt;Women's&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;Men's
		&lt;ul data-role="listview" &gt;
			&lt;li data-role="divider"&gt;Clothing&lt;/li&gt;
			&lt;li&gt;&lt;a href="suits.html"&gt;Suits&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="shirts.html"&gt;Shirts&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="ties.html"&gt;Ties&lt;/a&gt;&lt;/li&gt;
			&lt;li data-role="divider"&gt;Footwear&lt;/li&gt;
			&lt;li&gt;&lt;a href="shoes.html"&gt;Shoes&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/li&gt;
&lt;/ul&gt;</pre></div></div>

<div id="attachment_925117" class="wp-caption alignnone" style="width: 735px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/10/mobile-nested.png" alt="Nested lists show on a new mobile page." title="mobile-nested" width="725" height="332" class="size-full wp-image-925117" /><p class="wp-caption-text">Nested lists show on a new mobile page.</p></div>
<h3>Summing Up</h3>
<p>The jQuery Mobile Framework supports enhanced list views. This article demonstrates three of the most basic forms of these lists, but there is almost infinitely more complexity available for the motivated mobile developer.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/Creating-Elementary-Lists-in-jQuery-Mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using WordPress for Ecommerce, Part 54: Archive Page</title>
		<link>http://ecommercedeveloper.com/articles/Using-WordPress-for-Ecommerce-Part-54-Archive-Page/</link>
		<comments>http://ecommercedeveloper.com/articles/Using-WordPress-for-Ecommerce-Part-54-Archive-Page/#comments</comments>
		<pubDate>Mon, 01 Oct 2012 19:56:17 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Platforms & Shopping Carts]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925109</guid>
		<description><![CDATA[Whether displaying a list of articles or a product grid, category pages are an important part of nearly any web development project.
I have taken a pause, if you will, in the Alien Authority development, project to look back and make sure that I have the ... ]]></description>
				<content:encoded><![CDATA[<p><strong>Whether displaying</strong> a list of articles or a product grid, category pages are an important part of nearly any web development project.</p>
<p>I have taken a pause, if you will, in the Alien Authority development, project to look back and make sure that I have the site functioning just the way I want it before move into the next major section of development.</p>
<p>This article in the 54th installment of a series created to demonstrate how to use WordPress to develop an ecommerce site that sells virtual products from start to finish. The series addresses the (a) site-planning process, (b) graphic design, (c) plugin selection, (d) payment processing setup, and (e) virtual product delivery. This series also provides specific site-coding examples.</p>
<h3>The Series to Date</h3>
<ul>
<li><a href="http://ecommercedeveloper.com/articles/3289-Using-WordPress-for-Ecommerce-Part-One-Defining-the-Project">Part One: Defining the Project</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3298-Using-WordPress-for-Ecommerce-Part-Two-Logo-and-Color-Palette">Part Two: Logo and Color Palette</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3306-Using-WordPress-for-Ecommerce-Part-Three-CSS-Grid-Home-Page-Design">Part Three: CSS Grid, Home Page Design</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3312-Using-WordPress-for-Ecommerce-Part-Four-Facing-Design-Challenges">Part Four: Facing Design Challenges</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3324-Using-WordPress-for-Ecommerce-Part-Five-Install-WordPress-Copy-Theme">Part Five: Install WordPress, Copy Theme</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3326-Using-WordPress-for-Ecommerce-Part-Six-Create-a-Custom-Post-Type">Part Six: Create a Custom Post Type</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3336-Using-WordPress-for-Ecommerce-Part-Seven-More-Functions-for-the-Custom-Post-Type">Part Seven: More Functions for the Custom Post Type</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3342-Using-WordPress-for-Ecommerce-Part-Eight-Draft-HTML5-Markup">Part Eight: Draft HTML5 Markup</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3348-Using-WordPress-for-Ecommerce-Part-Nine-CSS-Begins-Font-Glitch">Part Nine: CSS Begins, Font Glitch</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3356-Using-WordPress-for-Ecommerce-Part-10-CSS-Work-Continues">Part Ten: CSS Work Continues</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3362-Using-WordPress-for-Ecommerce-Part-11-jQuery-Lends-a-Hand">Part 11: jQuery Lends a Hand</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3371-Using-WordPress-for-Ecommerce-Part-12-CSS-for-Articles-Newsletter">Part 12: CSS for Articles, Newsletter</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3377-Using-WordPress-for-Ecommerce-Part-13-CSS-for-Social-Links-the-Footer">Part 13: CSS for Social Links, the Footer</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3384-Using-WordPress-for-Ecommerce-Part-14-Tablet-Layout-Begins">Part 14: Tablet Layout Begins</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3393-Using-WordPress-for-Ecommerce-Part-15-Tablet-Layout-Continues">Part 15: Tablet Layout Continues</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3400-Using-WordPress-for-Ecommerce-Part-16-Articles-and-Videos-Styled">Part 16: Articles and Videos Styled</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3407-Using-WordPress-for-Ecommerce-Part-17-480-Pixel-Wide-Footer">Part 17: 480-Pixel-Wide Footer</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3417-Using-WordPress-for-Ecommerce-Part-18-480-Pixel-CSS-Coloring">Part 18: 480-Pixel CSS Coloring</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3422-Using-WordPress-for-Ecommerce-Part-19-Colors-Like-a-Rainbow">Part 19: Colors Like a Rainbow</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3430-Using-WordPress-for-Ecommerce-Part-20-The-Next-Size-Up">Part 20: The Next Size Up</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3438-Using-WordPress-for-Ecommerce-Part-21-Finishing-the-640-pixel-Wide-Layout">Part 21: Finishing the 640-pixel Wide Layout</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3445-Using-WordPress-for-Ecommerce-Part-22-The-Remaining-Layouts">Part 22: The Remaining Layouts</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3451-Using-WordPress-for-Ecommerce-Part-23-Completing-Remaining-Layouts">Part 23: Completing Remaining Layouts</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3458-Using-WordPress-for-Ecommerce-Part-24-Theme-Building-Begins">Part 24: Theme Building Begins</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3463-Using-WordPress-for-Ecommerce-Part-25-Switching-Style-Sheets">Part 25: Switching Style Sheets</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3469-Using-WordPress-for-Ecommerce-Part-26-Completing-the-Header-php-File">Part 26: Completing the Header.php File</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3475-Using-WordPress-for-Ecommerce-Part-27-The-WordPress-Loop">Part 27: The WordPress Loop</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3488-Using-WordPress-for-Ecommerce-Part-28-Managing-Thumbnails-and-Article-Teasers">Part 28, Managing Thumbnails and Article Teasers</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3493-Using-WordPress-for-Ecommerce-Part-29-A-Third-Loop-and-the-Footer">Part 29: A Third Loop and the Footer</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3500-Using-WordPress-for-Ecommerce-Part-30-Newsletter-Page-Template-and-Database-">Part 30: Newsletter Page Template and Database</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3503-Using-WordPress-for-Ecommerce-Part-31-Composing-the-Newsletter-Form">Part 31: Composing the Newsletter Form</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3508-Using-WordPress-for-Ecommerce-Part-32-Processing-Newsletter-Form-Data-">Part 32: Processing Newsletter Form Data</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3515-Using-WordPress-for-Ecommerce-Part-33-Integrating-MailChimp">Part 33: Integrating MailChimp</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3523-Using-WordPress-for-Ecommerce-Part-34-Modifying-the-Page-Template">Part 34: Modifying the Page Template</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3528-Using-WordPress-for-Ecommerce-Part-35-The-Contact-Form">Part 35: The Contact Form</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3543-Using-WordPress-for-Ecommerce-Part-36-When-Users-Submit">Part 36: When Users Submit</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3550-Using-WordPress-for-Ecommerce-Part-37-Additional-CSS-and-Getting-Ready-for-RSS">Part 37: Additional CSS, and Getting Ready for RSS</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3561-Using-WordPress-for-Ecommerce-Part-38-Plugin-Localization-and-Settings-Link">Part 38: Plugin Localization and Settings Link</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3577-Using-WordPress-for-Ecommerce-Part-39-Connecting-to-the-Database-Table">Part 39: Connecting to the Database Table</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3583-Using-WordPress-for-Ecommerce-Part-40-Adding-a-Style-Sheet-to-a-Plugin">Part 40: Adding a Style Sheet to a Plugin</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3594-Using-WordPress-for-Ecommerce-Part-41-Cloning-Form-Elements">Part 41: Cloning Form Elements</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3598-Using-WordPress-for-Ecommerce-Part-42-Populating-The-Options-Form">Part 42: Populating The Options Form</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3627-Using-WordPress-for-Ecommerce-Part-43-Showing-and-Hiding-Options">Part 43: Showing and Hiding Options</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3639-Using-WordPress-for-Ecommerce-Part-44-Cleaning-Up-the-Plugin">Part 44: Cleaning Up the Plugin</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3655-Using-WordPress-for-Ecommerce-Part-45-Get-RSS-Content">Part 45: Get the RSS</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3659-Using-WordPress-for-Ecommerce-Part-46-Working-the-Feeds-">Part 46: Working the Feeds</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3666-Using-WordPress-for-Ecommerce-Part-47-Timing-Cron-like-Events-in-WordPress-">Part 47: Timing Cron-like Events in WordPress</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-48-creating-the-first-digital-product/-">Part 48: Creating the First Digital Product</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-49-presenting-individual-products/">Part 49: Presenting Individual Products</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-50-displaying-category-pages/">Part 50: Displaying Category Pages</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-51-adding-text-to-a-pdf/">Part 51: Adding Text to a PDF</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-52-font-problems-and-centering-dynamic-text-on-a-pdf/">Part 52: Font Problems</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-53-search-the-past/">Part 53: Search the Past</a></li>
</ul>
<p>In the previous article, I mentioned that I don&#8217;t believe there is any such thing as a perfect development project, and frankly when I am building a site as an illustration for an article series that project can become even more disjointed. </p>
<p>As such, I took a step back from my development schedule to really look through the Alien Authority website, which as you may know from earlier articles in this series will sell alien abduction certificates. </p>
<p>In the last installment, I made changes to the search form and the search results page. </p>
<p>In a similar fashion, in this article I am going to update the Alien Authority&#8217;s article and video category pages, or rather the template for these pages. At the moment this page does not display properly.</p>
<div id="attachment_925110" class="wp-caption alignnone" style="width: 972px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/10/54-1-not-displaying.png" alt="The Alien Authority site&#039;s category pages were not displaying properly." title="54-1-not-displaying" width="962" height="475" class="size-full wp-image-925110" /><p class="wp-caption-text">The Alien Authority site&#8217;s category pages were not displaying properly.</p></div>
<h3>Create an Archive Page Template</h3>
<p>To reformat this page — and give it the appropriate content — I created a new PHP document and gave it the standard WordPress template comment.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php</div></li>
<li class="li2"><div class="de2"><span class="coMULTI">/**</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* The template for displaying Archive pages.</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;*</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;*</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;* @package WordPress</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* @subpackage aa</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;* @since aa 1.0</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;*/</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">get_header<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php
/**
 * The template for displaying Archive pages.
 *
 *
 * @package WordPress
 * @subpackage aa
 * @since aa 1.0
 */

get_header(); ?&gt;</pre></div></div>

<p>This file needs to be called archive.php or category.php, so that WordPress knows when to use it.</p>
<p>WordPress uses a <a href=”http://codex.wordpress.org/Template_Hierarchy”>template hierarchy</a> to decide which template to use for a particular request. The archive.php file is the most generic archive-type template. For the Alien Authority site, it will be fine to manage category pages housing lists of articles, but I could have also chosen to be a bit more specific and named this file category.php. It is also possible to have archive type templates for authors, tags, taxonomies, dates, or even custom post types.</p>
<p>Next, the archive.php file needs a WordPress loop. The loop has been a common feature on every template created for the Alien Authority site.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>div id<span class="sy0">=</span><span class="st0">&quot;content&quot;</span> role<span class="sy0">=</span><span class="st0">&quot;main&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>h1 <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;page-title&quot;</span><span class="sy0">&gt;&lt;?</span>php single_cat_title<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span> <span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;?</span>php query_posts<span class="br0">&#40;</span> <span class="st0">'posts_per_page=10'</span> <span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;?</span>php <span class="kw1">if</span> <span class="br0">&#40;</span> have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="sy0">:</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;?</span>php <span class="co2">/* Start the Loop */</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php <span class="kw1">while</span> <span class="br0">&#40;</span> have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="sy0">:</span> the_post<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>ul id<span class="sy0">=</span><span class="st0">&quot;category-list&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>h3<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo get_permalink(); ?&gt;&quot;</span><span class="sy0">&gt;&lt;?</span>php the_title<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;&lt;/</span>a<span class="sy0">&gt;&lt;/</span>h3<span class="sy0">&gt;</span> &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;?</span>php the_excerpt<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span> &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php endwhile<span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;pagination&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php previous_posts_link<span class="br0">&#40;</span>__<span class="br0">&#40;</span><span class="st0">'Newer Entries'</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php next_posts_link<span class="br0">&#40;</span>__<span class="br0">&#40;</span><span class="st0">'Older Entries'</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span> <span class="sy0">&lt;!--</span> end .<span class="me1">pagination</span> <span class="sy0">--&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;?</span>php <span class="kw1">else</span> <span class="sy0">:</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>article id<span class="sy0">=</span><span class="st0">&quot;post-0&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;post no-results not-found&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>h1 <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;entry-title&quot;</span><span class="sy0">&gt;</span>Nothing Found<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>article<span class="sy0">&gt;&lt;!--</span> #post<span class="sy0">-</span><span class="nu0">0</span> <span class="sy0">--&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;?</span>php endif<span class="sy0">;</span> wp_reset_query<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>div<span class="sy0">&gt;&lt;!--</span> #content <span class="sy0">--&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;div id="content" role="main"&gt;

	&lt;h1 class="page-title"&gt;&lt;?php single_cat_title(); ?&gt; &lt;/h1&gt;
	&lt;?php query_posts( 'posts_per_page=10' ); ?&gt;
	&lt;?php if ( have_posts() ) : ?&gt;
	&lt;?php /* Start the Loop */ ?&gt;
		&lt;?php while ( have_posts() ) : the_post(); ?&gt;
			&lt;ul id="category-list"&gt;
				&lt;li&gt;
					&lt;h3&gt;&lt;a href="&lt;?php echo get_permalink(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;		
					&lt;?php the_excerpt(); ?&gt;					
				&lt;/li&gt;
			&lt;/ul&gt;
		&lt;?php endwhile; ?&gt;
	&lt;div class="pagination"&gt;
		&lt;?php previous_posts_link(__('Newer Entries')) ?&gt;
		&lt;?php next_posts_link(__('Older Entries')) ?&gt;
	&lt;/div&gt; &lt;!-- end .pagination --&gt;

	&lt;?php else : ?&gt;

	&lt;article id="post-0" class="post no-results not-found"&gt;
		&lt;h1 class="entry-title"&gt;Nothing Found&lt;/h1&gt;
	&lt;/article&gt;&lt;!-- #post-0 --&gt;

	&lt;?php endif; wp_reset_query(); ?&gt;

&lt;/div&gt;&lt;!-- #content --&gt;</pre></div></div>

<p>For this particular loop, notice that I am setting the first h1 element to a value of the category&#8217;s title using the WordPress function single_cat_title().</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>h1 <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;page-title&quot;</span><span class="sy0">&gt;&lt;?</span>php single_cat_title<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span> <span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;h1 class="page-title"&gt;&lt;?php single_cat_title(); ?&gt; &lt;/h1&gt;</pre></div></div>

<p>As with other loops, the content is added to the page using a while statement. One difference here, however, is that I have limited the page so that it shows just the most recent ten posts.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php query_posts<span class="br0">&#40;</span> <span class="st0">'posts_per_page=10'</span> <span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php query_posts( 'posts_per_page=10' ); ?&gt;</pre></div></div>

<p>Lower in the code, I reset the query.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php endif<span class="sy0">;</span> wp_reset_query<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php endif; wp_reset_query(); ?&gt;</pre></div></div>

<p>I also added pagination, so that users can click to see the next ten posts.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;pagination&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;?</span>php previous_posts_link<span class="br0">&#40;</span>__<span class="br0">&#40;</span><span class="st0">'Newer Entries'</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;?</span>php next_posts_link<span class="br0">&#40;</span>__<span class="br0">&#40;</span><span class="st0">'Older Entries'</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span> <span class="sy0">&lt;!--</span> end .<span class="me1">pagination</span> <span class="sy0">--&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;div class="pagination"&gt;
	&lt;?php previous_posts_link(__('Newer Entries')) ?&gt;
	&lt;?php next_posts_link(__('Older Entries')) ?&gt;
&lt;/div&gt; &lt;!-- end .pagination --&gt;</pre></div></div>

<p>I also added the WordPress footer.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php get_footer<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php get_footer(); ?&gt;</pre></div></div>

<p>I added some styles, leveraging the code used in the previous article. This code was from style.css.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="coMULTI">/* SERP and Catalog */</span></div></li>
<li class="li2"><div class="de2">ul#serp<span class="sy0">-</span>list<span class="sy0">,</span> ul#category<span class="sy0">-</span>list <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; margin<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; padding<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; list<span class="sy0">-</span>style<span class="sy0">:</span> none<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">ul#serp<span class="sy0">-</span>list li h3<span class="sy0">,</span> ul#category<span class="sy0">-</span>list li h3 <span class="br0">&#123;</span> margin<span class="sy0">-</span>bottom<span class="sy0">:</span> 5px<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">ul#serp<span class="sy0">-</span>list li p<span class="sy0">,</span> ul#category<span class="sy0">-</span>list li p <span class="br0">&#123;</span> margin<span class="sy0">-</span>top<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">ul#category<span class="sy0">-</span>list li <span class="br0">&#123;</span> margin<span class="sy0">-</span>bottom<span class="sy0">:</span> 20px<span class="sy0">;</span> border<span class="sy0">-</span>bottom<span class="sy0">:</span> 1px dotted #<span class="nu0">282828</span><span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">ul#category<span class="sy0">-</span>list li<span class="sy0">:</span>last<span class="sy0">-</span>child <span class="br0">&#123;</span> border<span class="sy0">-</span>bottom<span class="sy0">:</span> none<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">/* SERP and Catalog */
ul#serp-list, ul#category-list { 
	margin: 0;
	padding: 0;
	list-style: none;
}

ul#serp-list li h3, ul#category-list li h3 { margin-bottom: 5px; }
ul#serp-list li p, ul#category-list li p { margin-top: 0; }

ul#category-list li { margin-bottom: 20px; border-bottom: 1px dotted #282828; }
ul#category-list li:last-child { border-bottom: none; }</pre></div></div>

<p>With these changes, the category pages are now properly laid out.</p>
<div id="attachment_925111" class="wp-caption alignnone" style="width: 1075px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/10/54-2-fixed.png" alt="The updated archive.php file lays out the category page." title="54-2-fixed" width="1065" height="624" class="size-full wp-image-925111" /><p class="wp-caption-text">The updated archive.php file lays out the category page.</p></div>
<h3>Summing Up</h3>
<p>In this article, I updated the archive.php file responsible for adding content to and laying out the category pages on the Alien Authority website.</p>
<h3>Related Articles</h3>
<ul>
<li><a href="http://ecommercedeveloper.com/articles/3307-book-review-the-wordpress-anthology/">Book Review: The WordPress Anthology</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3172-29-new-wordpress-tutorials/">29 New WordPress Tutorials</a></li>
<li><a href="http://ecommercedeveloper.com/articles/2791-wordpress-theme-development-part-1-installation-and-graphic-design/">WordPress Theme Development Part 1: Installation and Graphic Design</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/Using-WordPress-for-Ecommerce-Part-54-Archive-Page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>19 Tools and Tutorials for CSS3 Buttons</title>
		<link>http://ecommercedeveloper.com/articles/19-Tools-and-Tutorials-for-CSS3-Buttons/</link>
		<comments>http://ecommercedeveloper.com/articles/19-Tools-and-Tutorials-for-CSS3-Buttons/#comments</comments>
		<pubDate>Tue, 25 Sep 2012 12:44:57 +0000</pubDate>
		<dc:creator>Sig Ueland</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Design & Inspiration]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925072</guid>
		<description><![CDATA[Cascading Style Sheets add style to the web. And what could be more stylish than buttons?
Here is a list of tools and tutorials for creating CSS3 buttons. There are CSS3 button generators, tutorials for creating buttons entirely in CSS3, and sets of CSS3 buttons to ... ]]></description>
				<content:encoded><![CDATA[<p><strong>Cascading Style Sheets </strong>add style to the web. And what could be more stylish than buttons?</p>
<p>Here is a list of tools and tutorials for creating CSS3 buttons. There are CSS3 button generators, tutorials for creating buttons entirely in CSS3, and sets of CSS3 buttons to use in your design. All of these resources are free.</p>
<h3>CSS3 Button Tools and Tutorials</h3>
<p><strong><a href="http://css3buttongenerator.com/">CSS3 Button Generator</a>.</strong> CSS3 Button Generator is a nice generator that displays a big red funky button to manipulate. It provides advanced options for font/text, box, border, background and hover.</p>
<div id="attachment_925073" class="wp-caption alignnone" style="width: 510px"><a href="http://css3buttongenerator.com/"><img class="size-full wp-image-925073" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/CSS3-Button-Generator.jpg" alt="A CSS3 button generator " width="500" height="375" /></a><p class="wp-caption-text">Change the settings and view the results of this button generator.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://css-tricks.com/examples/ButtonMaker/">CSS3-Tricks Button Maker</a>.</strong> CSS3-Tricks Button Maker is a button generator with color selectors for top gradient, bottom gradient, top border, hover background, text, hover text, and active background.</p>
<div id="attachment_925074" class="wp-caption alignnone" style="width: 510px"><a href="http://css-tricks.com/examples/ButtonMaker/" rel="attachment wp-att-925074"><img class="size-full wp-image-925074" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Button-Maker.jpg" alt="A CSS3 button generator" width="500" height="324" /></a><p class="wp-caption-text">Adjust this button generator&#8217;s selectors and preview the results.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://dryicons.com/blog/2010/07/15/css3-gradient-button-generator/">CSS3 Linear Gradient Buttons Generator</a>.</strong> This button maker allows you to adjust gradient, border, box, text, and button states. Enter your preferences and preview, then press Get Code.</p>
<div id="attachment_925078" class="wp-caption alignnone" style="width: 510px"><a href="http://dryicons.com/blog/2010/07/15/css3-gradient-button-generator/"><img class="size-full wp-image-925078" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/CSS3-Linear-Gradient-Buttons-Generator.jpg" alt="A CSS3 button generator" width="500" height="309" /></a><p class="wp-caption-text">Set this button generator, preview, then press Get Code.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://css3button.net/">CSS3 Button Generator</a>.</strong> This is a simple button generator with options for background, border/padding, drop shadow, inner shadow, text font, and text shadows.</p>
<div id="attachment_925077" class="wp-caption alignnone" style="width: 510px"><a href="http://css3button.net/" rel="attachment wp-att-925077"><img class="size-full wp-image-925077 " src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/CSS3-Button-Generator-button.net_.jpg" alt="A CSS3 button generator" width="500" height="426" /></a><p class="wp-caption-text">Create a button with background, border, shadow and text.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://webdesignerwall.com/tutorials/css-social-buttons">CSS Social Buttons</a>.</strong> The purpose of  CSS Social Buttons is to provide a cross-browser, consistent and versatile CSS that can be applied in any design, app or theme. Basically, it is one master style-sheet that contains various design styles.</p>
<div id="attachment_925080" class="wp-caption alignnone" style="width: 510px"><a href="http://webdesignerwall.com/tutorials/css-social-buttons"><img class="size-full wp-image-925080" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Web-Designer-Wall-CSS-Social-Buttons1.jpg" alt="CSS social buttons in sizes and styles" width="500" height="418" /></a><p class="wp-caption-text">Use these CSS social buttons in sizes and styles.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://tympanus.net/codrops/2011/11/07/animated-buttons-with-css3/">Animated Buttons with CSS3</a>.</strong> This tutorial covers some CSS3 button experiments. The idea is to create some animated link elements with different styles, hover effects and active states.</p>
<div id="attachment_925081" class="wp-caption alignnone" style="width: 510px"><a href="http://tympanus.net/codrops/2011/11/07/animated-buttons-with-css3/"><img class="size-full wp-image-925081" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Animated-Buttons-with-CSS3.jpg" alt="Four animated buttons in CSS3" width="500" height="228" /></a><p class="wp-caption-text">Use this tutorial to create CSS3 button experiments.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.red-team-design.com/just-another-awesome-css3-buttons">Just Some Other Awesome CSS3 Buttons</a>.</strong> In this tutorial, build some nice CSS3 buttons with icons. To create the icons, this set of CSS3 buttons uses HTML entities, gradients, shadows, and many other CSS3 features.</p>
<div id="attachment_925082" class="wp-caption alignnone" style="width: 510px"><a href="http://www.red-team-design.com/just-another-awesome-css3-buttons"><img class="size-full wp-image-925082" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Just-Some-Other-Awesome-CSS3-Buttons.jpg" alt="" width="500" height="167" /></a><p class="wp-caption-text">Build CSS3 buttons with icons.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://webdesign.tutsplus.com/tutorials/site-elements/orman-clarks-chunky-3d-web-buttons-the-css3-version/">Orman Clark’s Chunky 3D Web Buttons: The CSS3 Version</a></strong>. In this tutorial, learn to make CSS3 buttons based on a popular freebie Orman Clark made for his website <a href="http://www.premiumpixels.com/freebies/chunky-3d-webbuttons-psd/">Premium Pixel</a>.</p>
<div id="attachment_925083" class="wp-caption alignnone" style="width: 510px"><a href="http://webdesign.tutsplus.com/tutorials/site-elements/orman-clarks-chunky-3d-web-buttons-the-css3-version/"><img class="size-full wp-image-925083" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Orman-Clarks-Chunky-3D-Web-Buttons.jpg" alt="A set of colorful chunky 3D buttons" width="500" height="335" /></a><p class="wp-caption-text">Learn to make chunky 3D CSS3 buttons.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://tympanus.net/codrops/2012/01/11/css-buttons-with-pseudo-elements/">CSS Buttons with Pseudo-elements</a>.</strong> This tutorial shows you hot to create buttons with a twist, using one anchor tag per button and the power of CSS.</p>
<div id="attachment_925084" class="wp-caption alignnone" style="width: 510px"><a href="http://tympanus.net/codrops/2012/01/11/css-buttons-with-pseudo-elements/"><img class="size-full wp-image-925084" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/CSS-Buttons-with-Pseudo-Elements.jpg" alt="Three blue CSS3 buttons with text" width="500" height="344" /></a><p class="wp-caption-text">Create buttons with one anchor tag and CSS.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.inserthtml.com/2012/01/soft-pressure-buttons-css/">A Bunch of Soft, Customizable Pressure Buttons in CSS</a>.</strong> This tutorial demonstrates how to create pressure style buttons. It uses multiple box shadows, a useful technique for adding depth when you don’t want to use gradients.</p>
<div id="attachment_925085" class="wp-caption alignnone" style="width: 510px"><a href="http://www.inserthtml.com/2012/01/soft-pressure-buttons-css/"><img class="size-full wp-image-925085" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/A-Bunch-of-Soft-Customizable.jpg" alt="An assortment of buttons in shapes and colors" width="500" height="215" /></a><p class="wp-caption-text">Create pressure style buttons in CSS, using box shadows.</p></div>
<p>&nbsp;</p>
<p>&#8211;</p>
<p><strong><a href="http://www.joepettersson.com/css3-buttons/">A Set of Simple CSS3 Buttons</a>.</strong> This is a simple set of pre-made but extensible CSS3 buttons available in several different colors, configurations or sizes.</p>
<div id="attachment_925086" class="wp-caption alignnone" style="width: 510px"><a href="http://www.joepettersson.com/css3-buttons/"><img class="size-full wp-image-925086" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/A-Set-of-Simple-CSS3-Buttons.jpg" alt="A set of colorful CSS3 buttons" width="500" height="255" /></a><p class="wp-caption-text">Here is a set of CSS3 buttons in colors and sizes.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://designshack.net/articles/css/downloadbutton/">Code an Awesome Animated Download Button with CSS3</a>.</strong> This tutorial creates a simple and fun download button using some fancy CSS3, border-radius, box-shadow, linear-gradients, z-index and transitions to achieve a unique double sliding drawer effect on hover.</p>
<div id="attachment_925087" class="wp-caption alignnone" style="width: 510px"><a href="http://designshack.net/articles/css/downloadbutton/"><img class="size-full wp-image-925087" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Code-an-Awesome-Animated-Download-Button.jpg" alt="Three blue download buttons" width="500" height="304" /></a><p class="wp-caption-text">Create a CSS3 download button with fancy effects.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://designmodo.com/create-css3-buttons/">How to Create CSS3 Buttons</a>.</strong> In this tutorial, make some cool CSS3 buttons. These buttons are based on the <a href="http://designmodo.com/futuricopro/">Futurico User Interface</a> by Vladimir Kudinov. Try to make a precise copy of them.</p>
<div id="attachment_925088" class="wp-caption alignnone" style="width: 510px"><a href="http://designmodo.com/create-css3-buttons/"><img class=" wp-image-925088" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/How-to-Create-CSS3-Buttons.jpg" alt="Three sets of colored buttons" width="500" height="192" /></a><p class="wp-caption-text">Create cool CSS3 buttons from a well-known design.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://medialoot.com/item/free-css3-button-styles/">Free CSS3 Button Styles</a>.</strong> These are 16 preset buttons included in this tutorial. Each one is very easy to modify and tweak to match the theme of your site. They are fully scalable and pure CSS.</p>
<div id="attachment_925089" class="wp-caption alignnone" style="width: 510px"><a href="http://medialoot.com/item/free-css3-button-styles/"><img class="size-full wp-image-925089" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Free-CSS3-Button-Styles.jpg" alt="A set of colorful rectangular buttons" width="500" height="91" /></a><p class="wp-caption-text">Here is a set of pure CSS buttons to adjust for your site.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://cssdeck.com/labs/fancy-3d-button">Fancy 3D-Button</a>.</strong> Here is a simple button, styled with different box-shadows for a 3D-look. The first value of the box-shadow is to give height and depth to the button and the second value is to give shadow to it. There is nothing else in this buttons except this clever use of box shadows.</p>
<div id="attachment_925094" class="wp-caption alignnone" style="width: 510px"><a href="http://cssdeck.com/labs/fancy-3d-button"><img class="size-full wp-image-925094" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Fancy-3D-Button.jpg" alt="A 3D &quot;Push Me!&quot; button" width="500" height="224" /></a><p class="wp-caption-text">This is button uses box-shadows for a 3D appearance.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://line25.com/tutorials/how-to-create-a-stylish-button-entirely-with-css3">How to Create a Stylish Button Entirely with CSS3</a>.</strong> This tutorial creates a button graphic entirely with CSS. Look at how CSS gradients, shadows, borders and transitions can all be combined to create a stylish button for your website.</p>
<div id="attachment_925095" class="wp-caption alignnone" style="width: 510px"><a href="http://line25.com/tutorials/how-to-create-a-stylish-button-entirely-with-css3"><img class="size-full wp-image-925095" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/CSS3-Button.jpg" alt="A green &quot;Push&quot; button" width="500" height="298" /></a><p class="wp-caption-text">Create a button entirely with CSS.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.hv-designs.co.uk/2011/03/30/css3tutorial/">CSS3 Buttons Tutorial</a>.</strong> CSS3 buttons have the advantage of being easier for screen readers to process, as well as being lighter on your page load times. This tutorial demonstrates how to use CSS to style links to look like buttons, with minimal hassle.</p>
<div id="attachment_925096" class="wp-caption alignnone" style="width: 510px"><a href="http://www.hv-designs.co.uk/2011/03/30/css3tutorial/"><img class="size-full wp-image-925096" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/CSS3-Buttons-Tutorial.jpg" alt="A blue &quot;buy now&quot; button" width="500" height="253" /></a><p class="wp-caption-text">Use CSS to style links to look like buttons.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://girliemac.com/blog/2010/02/04/css3-box-shadow-with-inset-values-the-aqua-button-rerevisited/">CSS3 Box-Shadow with Inset Values – The Aqua Button ReReVisited!</a></strong> This tutorial demonstrates how to create a cool CSS3 aqua button with no images.</p>
<div id="attachment_925097" class="wp-caption alignnone" style="width: 510px"><a href="http://girliemac.com/blog/2010/02/04/css3-box-shadow-with-inset-values-the-aqua-button-rerevisited/"><img class=" wp-image-925097" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/aqua-button.jpg" alt="An aqua button" width="500" height="135" /></a><p class="wp-caption-text">Create a CSS3 aqua button.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://horaciobella.com/zardi/">Zardi</a>.</strong> Zardi is a pack of CSS3-only buttons. Free and ready to use in various shapes and colors. These buttons were made by Horacio Bella in the creative space provided by <a href="http://holabeew.com/">Beew</a>.</p>
<div id="attachment_925098" class="wp-caption alignnone" style="width: 510px"><a href="http://horaciobella.com/zardi/"><img class="size-full wp-image-925098" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Zardi.jpg" alt="A set of colorful rectangular buttons" width="500" height="308" /></a><p class="wp-caption-text">Use this pack of CSS3-only buttons.</p></div>
<p>&nbsp;</p>
<h3>Read More</h3>
<p>- <a href="http://ecommercedeveloper.com/articles/3520-18-html5-and-css3-generators/">18 HTML5 and CSS3 Generators</a><br />
- <a href="http://ecommercedeveloper.com/uncategorized/19-new-css3-tutorials/">19 New CSS3 Tutorials</a><br />
- <a href="http://ecommercedeveloper.com/articles/2892-26-resources-for-css3/">26 Resources for CSS3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/19-Tools-and-Tutorials-for-CSS3-Buttons/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile, Show Products as Pages</title>
		<link>http://ecommercedeveloper.com/articles/jQuery-Mobile-Show-Products-as-Pages/</link>
		<comments>http://ecommercedeveloper.com/articles/jQuery-Mobile-Show-Products-as-Pages/#comments</comments>
		<pubDate>Mon, 24 Sep 2012 16:36:04 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925090</guid>
		<description><![CDATA[jQuery Mobile is a touch-and-swipe optimized web framework built to make it much faster to develop mobile web applications, including ecommerce applications.
Once downloaded and installed, jQuery Mobile can treat content from a single HTML5 file as separate pages. As an example, several similar products might ... ]]></description>
				<content:encoded><![CDATA[<p>jQuery Mobile is a touch-and-swipe optimized web framework built to make it much faster to develop mobile web applications, including ecommerce applications.</p>
<p>Once downloaded and installed, jQuery Mobile can treat content from a single HTML5 file as separate pages. As an example, several similar products might be loaded in a single HTML5 file and then displayed as individual product detail pages.</p>
<p>This article takes a quick look at starting a jQuery mobile web application, and demonstrates how to treat sections of a single HTML5 document like individual pages.</p>
<h3>Downloading and Including jQuery Mobile</h3>
<p>At a minimum, employing the jQuery Mobile framework requires that you add to JavaScript libraries to the HTML5 markup. The first of these JavaScript files is the jQuery JavaScript Library, which may be downloaded from the <a href=”http://jquery.com/”>jQuery website</a>.</p>
<p>The jQuery Library may also be added to a mobile project from a content delivery network, which is recommended for most applications. But if it is important for the mobile web application to function offline, it may be better to actually download and include the library.</p>
<p>The second JavaScript file necessary, is — not surprisingly — the <a href=”http://jquerymobile.com/”>jQuery Mobile Framework</a>.</p>
<p>These files should be added to the HTML5 markup so that the jQuery Library is listed before jQuery Mobile.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;jquery-1.8.2.min.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;jquery.mobile-1.1.1.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;script src="jquery-1.8.2.min.js"&gt;&lt;/script&gt;
&lt;script src="jquery.mobile-1.1.1.js"&gt;&lt;/script&gt;</pre></div></div>

<p>jQuery Mobile also requires a CSS file.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>link rel<span class="sy0">=</span><span class="st0">&quot;stylesheet&quot;</span> media<span class="sy0">=</span><span class="st0">&quot;all&quot;</span> href<span class="sy0">=</span><span class="st0">&quot;jquery.mobile-1.1.1.css&quot;</span><span class="sy0">/&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;link rel="stylesheet" media="all" href="jquery.mobile-1.1.1.css"/&gt;</pre></div></div>

<p>As mentioned above these files may also have been added from a content delivery network, or CDN.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>link rel<span class="sy0">=</span><span class="st0">&quot;stylesheet&quot;</span> href<span class="sy0">=</span><span class="st0">&quot;http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css&quot;</span> <span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;http://code.jquery.com/jquery-1.6.4.min.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1"><span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" /&gt;
&lt;script src="http://code.jquery.com/jquery-1.6.4.min.js"&gt;&lt;/script&gt;
&lt;script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"&gt;&lt;/script&gt;</pre></div></div>

<h3>Create a Page</h3>
<p>With the jQuery Mobile framework, it is possible to have more than one page in a single HTML5 file. </p>
<p>As an example, take a look at the following HTML5 markup, and notice the use the HTML5 data-* attributes.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>section data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;page&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;pageone&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>header data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;header&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>h1<span class="sy0">&gt;</span>Asics GELNimbus<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span>&nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>header<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>div data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;content&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;product-detail&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>section <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-grid-a&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>img <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-a&quot;</span> src<span class="sy0">=</span><span class="st0">&quot;mens-asics-gel-nimbus-14-neon-yellow-navy-lightning.jpg&quot;</span> alt<span class="sy0">=</span><span class="st0">&quot;Asics Gel-Nimbus 14 In Yellow&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-b&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p<span class="sy0">&gt;</span>The GEL<span class="sy0">-</span>Nimbus <span class="nu0">14</span> brings <span class="kw1">with</span> it a sleeker profile than its predecessors <span class="kw1">while</span> maintaining its famously plush<span class="sy0">,</span> yet stable ride.<span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p id<span class="sy0">=</span><span class="st0">&quot;price&quot;</span><span class="sy0">&gt;</span>$<span class="nu0">159.99</span><span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;/</span>section<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>button data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;button&quot;</span><span class="sy0">&gt;</span>Add to Cart<span class="sy0">&lt;/</span>button<span class="sy0">&gt;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;#pagetwo&quot;</span><span class="sy0">&gt;</span>Also available <span class="kw1">in</span> Black<span class="sy0">&lt;/</span>a<span class="sy0">&gt;</span>&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>section<span class="sy0">&gt;&lt;!--</span> #pageone <span class="sy0">--&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;section data-role="page" id="pageone"&gt;
	&lt;header data-role="header"&gt;
		&lt;h1&gt;Asics GELNimbus&lt;/h1&gt;	
	&lt;/header&gt;
	&lt;div data-role="content" class="product-detail"&gt;
		&lt;section class="ui-grid-a"&gt;
			&lt;img class="ui-block-a" src="mens-asics-gel-nimbus-14-neon-yellow-navy-lightning.jpg" alt="Asics Gel-Nimbus 14 In Yellow"&gt;
			&lt;div class="ui-block-b"&gt;
				&lt;p&gt;The GEL-Nimbus 14 brings with it a sleeker profile than its predecessors while maintaining its famously plush, yet stable ride.&lt;/p&gt;
				&lt;p id="price"&gt;$159.99&lt;/p&gt;
			&lt;/div&gt;
		&lt;/section&gt;
		&lt;button data-role="button"&gt;Add to Cart&lt;/button&gt;	
		&lt;a href="#pagetwo"&gt;Also available in Black&lt;/a&gt;	
	&lt;/div&gt;
&lt;/section&gt;&lt;!-- #pageone --&gt;</pre></div></div>

<p>The primary section element has a data-role attribute of page. This attribute tells jQuery to treat this section as if it was its own page.</p>
<p>For the header element inside of this page a similar data-role is used. It will tell jQuery mobile to treat this element as the page header.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>header data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;header&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>h1<span class="sy0">&gt;</span>Asics GELNimbus<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span>&nbsp; </div></li>
<li class="li1"><div class="de1"><span class="sy0">&lt;/</span>header<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;header data-role="header"&gt;
	&lt;h1&gt;Asics GELNimbus&lt;/h1&gt;	
&lt;/header&gt;</pre></div></div>

<div id="attachment_925092" class="wp-caption alignnone" style="width: 694px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/mobile-1-shows-page.png" alt="Although it is only a section in an HTML5 document, this section is displayed like a page." title="mobile-1-shows-page" width="684" height="482" class="size-full wp-image-925092" /><p class="wp-caption-text">Although it is only a section in an HTML5 document, this section is displayed like a page.</p></div>
<p>Notice also that the section element with the page data-role has an id of &#8220;pageone.&#8221; In jQuery Mobile, links between pages that are contained in a single HTML5 file are managed by calling the desired page&#8217;s (element&#8217;s) id. An example of this is found in the link near the bottom of the example code.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;#pagetwo&quot;</span><span class="sy0">&gt;</span>Also available <span class="kw1">in</span> Black<span class="sy0">&lt;/</span>a<span class="sy0">&gt;</span>&nbsp; </div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;a href="#pagetwo"&gt;Also available in Black&lt;/a&gt;	</pre></div></div>

<h3>Add Columns</h3>
<p>jQuery Mobile also makes it easy to display content in columns. To get a two-column layout, I added the class ui-grid-a to the included section element containing the product image and the product description.</p>
<p>Then each of the child elements in this section is also assigned a class name,  ui-block-a and  ui-block-b respectively.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>section <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-grid-a&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>img <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-a&quot;</span> src<span class="sy0">=</span><span class="st0">&quot;mens-asics-gel-nimbus-14-neon-yellow-navy-lightning.jpg&quot;</span> alt<span class="sy0">=</span><span class="st0">&quot;Asics Gel-Nimbus 14 In Yellow&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-b&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>p<span class="sy0">&gt;</span>The GEL<span class="sy0">-</span>Nimbus <span class="nu0">14</span> brings <span class="kw1">with</span> it a sleeker profile than its predecessors <span class="kw1">while</span> maintaining its famously plush<span class="sy0">,</span> yet stable ride.<span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>p id<span class="sy0">=</span><span class="st0">&quot;price&quot;</span><span class="sy0">&gt;</span>$<span class="nu0">159.99</span><span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1"><span class="sy0">&lt;/</span>section<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;section class="ui-grid-a"&gt;
	&lt;img class="ui-block-a" src="mens-asics-gel-nimbus-14-neon-yellow-navy-lightning.jpg" alt="Asics Gel-Nimbus 14 In Yellow"&gt;
	&lt;div class="ui-block-b"&gt;
		&lt;p&gt;The GEL-Nimbus 14 brings with it a sleeker profile than its predecessors while maintaining its famously plush, yet stable ride.&lt;/p&gt;
		&lt;p id="price"&gt;$159.99&lt;/p&gt;
	&lt;/div&gt;
&lt;/section&gt;</pre></div></div>

<p>jQuery Mobile has other column options too. If the parent element — the section in the code above — had been given the class ui-grid-b, a three-column layout would have been implied. A class of ui-grid-c is for four-column layouts, and ui-grid-d is for five-column layouts.</p>
<p>The blocks within the parent element are also give class names wherein the trailing letter indicates the order.</p>
<h3>Page in the Context of a Single File</h3>
<p>To put this jQuery Mobile page into context, consider the HTML below. Notice that this is a single file, but that it contains two jQuery Mobile pages.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;!</span>doctype html<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;</span>html<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>head<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>meta charset<span class="sy0">=</span><span class="st0">&quot;utf-8&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>link rel<span class="sy0">=</span><span class="st0">&quot;stylesheet&quot;</span> media<span class="sy0">=</span><span class="st0">&quot;all&quot;</span> href<span class="sy0">=</span><span class="st0">&quot;jquery.mobile-1.1.1.css&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;jquery-1.8.2.min.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;jquery.mobile-1.1.1.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>meta <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;viewport&quot;</span> content<span class="sy0">=</span><span class="st0">&quot;width=device-width, initial-scale=1&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>style<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; .<span class="me1">product</span><span class="sy0">-</span>detail p <span class="br0">&#123;</span> padding<span class="sy0">-</span>left<span class="sy0">:</span> 5px<span class="sy0">;</span><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; .<span class="me1">product</span><span class="sy0">-</span>detail img <span class="br0">&#123;</span> border<span class="sy0">:</span> 2px solid whitesmoke<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;/</span>style<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;/</span>head<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>body lang<span class="sy0">=</span><span class="st0">&quot;en&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>section data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;page&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;pageone&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>header data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;header&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>h1<span class="sy0">&gt;</span>Asics GELNimbus<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span>&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>header<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;content&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;product-detail&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>section <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-grid-a&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>img <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-a&quot;</span> src<span class="sy0">=</span><span class="st0">&quot;mens-asics-gel-nimbus-14-neon-yellow-navy-lightning.jpg&quot;</span> alt<span class="sy0">=</span><span class="st0">&quot;Asics Gel-Nimbus 14 In Yellow&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-b&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p<span class="sy0">&gt;</span>The GEL<span class="sy0">-</span>Nimbus <span class="nu0">14</span> brings <span class="kw1">with</span> it a sleeker profile than its predecessors <span class="kw1">while</span> maintaining its famously plush<span class="sy0">,</span> yet stable ride.<span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p id<span class="sy0">=</span><span class="st0">&quot;price&quot;</span><span class="sy0">&gt;</span>$<span class="nu0">159.99</span><span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>section<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>button data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;button&quot;</span><span class="sy0">&gt;</span>Add to Cart<span class="sy0">&lt;/</span>button<span class="sy0">&gt;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;#pagetwo&quot;</span><span class="sy0">&gt;</span>Also available <span class="kw1">in</span> Black<span class="sy0">&lt;/</span>a<span class="sy0">&gt;</span>&nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;/</span>section<span class="sy0">&gt;&lt;!--</span> #pageone <span class="sy0">--&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>section data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;page&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;pagetwo&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>header data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;header&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>h1<span class="sy0">&gt;</span>Asics GELNimbus<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span>&nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>header<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;content&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;product-detail&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>section <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-grid-a&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>img <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-a&quot;</span> src<span class="sy0">=</span><span class="st0">&quot;mens-asics-gel-nimbus-14-black-digital-neon-orange.jpg&quot;</span> alt<span class="sy0">=</span><span class="st0">&quot;Asics Gel-Nimbus 14 In Black&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;ui-block-b&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p<span class="sy0">&gt;</span>The GEL<span class="sy0">-</span>Nimbus <span class="nu0">14</span> brings <span class="kw1">with</span> it a sleeker profile than its predecessors <span class="kw1">while</span> maintaining its famously plush<span class="sy0">,</span> yet stable ride.<span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p id<span class="sy0">=</span><span class="st0">&quot;price&quot;</span><span class="sy0">&gt;</span>$<span class="nu0">159.99</span><span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>section<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>button data<span class="sy0">-</span>role<span class="sy0">=</span><span class="st0">&quot;button&quot;</span><span class="sy0">&gt;</span>Add to Cart<span class="sy0">&lt;/</span>button<span class="sy0">&gt;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;#pageone&quot;</span><span class="sy0">&gt;</span>Also available <span class="kw1">in</span> Yellow<span class="sy0">&lt;/</span>a<span class="sy0">&gt;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;/</span>section<span class="sy0">&gt;&lt;!--</span> #pagetwo <span class="sy0">--&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>body<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; </div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>html<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;!doctype html&gt;
&lt;html&gt;

	&lt;head&gt;
		&lt;meta charset="utf-8"/&gt;
		
		&lt;link rel="stylesheet" media="all" href="jquery.mobile-1.1.1.css"/&gt;
		&lt;script src="jquery-1.8.2.min.js"&gt;&lt;/script&gt;
		&lt;script src="jquery.mobile-1.1.1.js"&gt;&lt;/script&gt;
		&lt;meta name="viewport" content="width=device-width, initial-scale=1"/&gt;
		&lt;style&gt;
			.product-detail p { padding-left: 5px;}
			.product-detail img { border: 2px solid whitesmoke; }
		&lt;/style&gt;
	&lt;/head&gt;
	
	&lt;body lang="en"&gt;
		&lt;section data-role="page" id="pageone"&gt;
			&lt;header data-role="header"&gt;
				&lt;h1&gt;Asics GELNimbus&lt;/h1&gt;	
			&lt;/header&gt;
			&lt;div data-role="content" class="product-detail"&gt;
				&lt;section class="ui-grid-a"&gt;
					&lt;img class="ui-block-a" src="mens-asics-gel-nimbus-14-neon-yellow-navy-lightning.jpg" alt="Asics Gel-Nimbus 14 In Yellow"&gt;
					&lt;div class="ui-block-b"&gt;
						&lt;p&gt;The GEL-Nimbus 14 brings with it a sleeker profile than its predecessors while maintaining its famously plush, yet stable ride.&lt;/p&gt;
						&lt;p id="price"&gt;$159.99&lt;/p&gt;
					&lt;/div&gt;
				&lt;/section&gt;
				&lt;button data-role="button"&gt;Add to Cart&lt;/button&gt;	
				&lt;a href="#pagetwo"&gt;Also available in Black&lt;/a&gt;	
			&lt;/div&gt;
		&lt;/section&gt;&lt;!-- #pageone --&gt;
		
		&lt;section data-role="page" id="pagetwo"&gt;
			&lt;header data-role="header"&gt;
				&lt;h1&gt;Asics GELNimbus&lt;/h1&gt;	
			&lt;/header&gt;
			&lt;div data-role="content" class="product-detail"&gt;
				&lt;section class="ui-grid-a"&gt;
					&lt;img class="ui-block-a" src="mens-asics-gel-nimbus-14-black-digital-neon-orange.jpg" alt="Asics Gel-Nimbus 14 In Black"&gt;
					&lt;div class="ui-block-b"&gt;
						&lt;p&gt;The GEL-Nimbus 14 brings with it a sleeker profile than its predecessors while maintaining its famously plush, yet stable ride.&lt;/p&gt;
						&lt;p id="price"&gt;$159.99&lt;/p&gt;
					&lt;/div&gt;
				&lt;/section&gt;
				&lt;button data-role="button"&gt;Add to Cart&lt;/button&gt;	
				&lt;a href="#pageone"&gt;Also available in Yellow&lt;/a&gt;	
			&lt;/div&gt;
		&lt;/section&gt;&lt;!-- #pagetwo --&gt;
		
	&lt;/body&gt;
	
&lt;/html&gt;</pre></div></div>

<p>Clicking the link at the bottom of a page will initiate a page transition to the second enclosed page. As far as the app&#8217;s users will be concerned, these are separate pages.</p>
<div id="attachment_925093" class="wp-caption alignnone" style="width: 706px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/mobile-2-black.png" alt="Although the jQuery Mobile pages are in the same document they are displayed and linked as individual pages." title="mobile-2-black" width="696" height="484" class="size-full wp-image-925093" /><p class="wp-caption-text">Although the jQuery Mobile pages are in the same document they are displayed and linked as individual pages.</p></div>
<h3>Summing Up</h3>
<p>This article briefly described how to set up a jQuery Mobile application, create pages, and link between pages. Needles to say, the framework can be used to develop significantly more complex applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/jQuery-Mobile-Show-Products-as-Pages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Yii Framework Basics</title>
		<link>http://ecommercedeveloper.com/articles/Yii-Framework-Basics/</link>
		<comments>http://ecommercedeveloper.com/articles/Yii-Framework-Basics/#comments</comments>
		<pubDate>Thu, 20 Sep 2012 18:03:58 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925066</guid>
		<description><![CDATA[The Yii PHP5 framework makes it possible to rapidly develop web applications under the relatively new three-cause BSD license that allows the framework to be used for either open source or proprietary projects.
The Yii Framework was first released in December of 2008. It is built ... ]]></description>
				<content:encoded><![CDATA[<p><strong>The Yii PHP5 framework</strong> makes it possible to rapidly develop web applications under the relatively new three-cause BSD license that allows the framework to be used for either open source or proprietary projects.</p>
<p><a href=”http://www.yiiframework.com/”>The Yii Framework</a> was first released in December of 2008. It is built to (a) be very high performance, (b) use model, view, controller application architecture, and (c) promote clean, DRY (do not repeat yourself) code. </p>
<p>The framework&#8217;s creator, Qiang Xue, based much of Yii on his earlier PHP framework, Prado. In fact, Yii builds on everything Xue learned in Prado and was an effort to make a better, higher performance framework option for PHP developers. Yii also employs the convention-over-configuration paradigm made popular with Ruby on Rails, and is integrated with jQuery for Ajax and other client-side interaction.</p>
<h3>Download and Unpack the Yii Framework</h3>
<p>To get started with Yii,<a href=”http://www.yiiframework.com/download/”> download</a> the most recent stable version from the Yii website.</p>
<p>Unpack the associated archive file in the directory you want Yii to live. Not all of Yii&#8217;s files need to be in a web-accessible directory, so you have some flexibility.</p>
<p>The Yii download should contain three directories, demos, framework, and requirements as well as a few text documents including a copy of the license. The various framework components are located — not surprisingly — in the framework directory.</p>
<h3>Check that Yii Requirements are Met</h3>
<p>The requirements directory is home to an application that will compare a web server&#8217;s configuration to Yii&#8217;s basic requirements and dependencies. To run this requirements checker, simply point to the requirements directory from a web browser.</p>
<p>As an example, if Yii is installed on a local Apache2 web server in a directory called “yii” the path to the requirements checker would be http://127.0.0.1/yii/requirements.</p>
<div id="attachment_925067" class="wp-caption alignnone" style="width: 1192px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/yii-1-requirements.png" alt="The Yii requirements checker tests the current web server&#039;s configuration for the framework&#039;s dependencies." title="yii-1-requirements" width="1182" height="648" class="size-full wp-image-925067" /><p class="wp-caption-text">The Yii requirements checker tests the current web server&#8217;s configuration for the framework&#8217;s dependencies.</p></div>
<p>Strictly speaking, while the first five items in the requirement checker are absolutely requires for Yii to run, these items can be identified in the “Required By” column, since the are necessary for the Yii framework itself.</p>
<div id="attachment_925068" class="wp-caption alignnone" style="width: 764px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/yii-2-requirements.png" alt="The requirements checker shows both required and suggested dependencies." title="yii-2-requirements" width="754" height="248" class="size-full wp-image-925068" /><p class="wp-caption-text">The requirements checker shows both required and suggested dependencies.</p></div>
<h3>Create a Basic Web Application</h3>
<p>Like Ruby on Rails, Yii can use convention to rapidly bring up a working skeleton application.</p>
<p>To create a Yii skeleton application, navigate to the directory wherein the new application will reside using the server&#8217;s shell interface (the command line).</p>
<p>In the command line, execute the yiic command. The path to this command will be the path to the Yii Framework&#8217;s framework directory.</p>
<p>The yiic command will take the method webapp and the name of the new application. In the example, the new application is called “ecd.”</p>
<div id="attachment_925069" class="wp-caption alignnone" style="width: 944px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/yii-3-command.png" alt="A Yii application can be created from the command line." title="yii-3-command" width="934" height="216" class="size-full wp-image-925069" /><p class="wp-caption-text">A Yii application can be created from the command line.</p></div>
<p>It may be necessary to preface this command with “php” depending on your environment.</p>
<p>Yii will ask you if you are certain that you want to create the new application. An answer in the affirmative creates the new application. This application will be instantly available in a web browser.</p>
<div id="attachment_925070" class="wp-caption alignnone" style="width: 1002px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/yii-4-application.png" alt="The new application shown in the browser." title="yii-4-application" width="992" height="412" class="size-full wp-image-925070" /><p class="wp-caption-text">The new application shown in the browser.</p></div>
<p>This application will include a few pages and two forms. The first form is for contacts. The second is for authentication.</p>
<p>This very basically application will, of course, need to be customized, but it is pretty neat to have something up and running so quickly.</p>
<p>The application&#8217;s structure is built for MVC, and includes many of the files and classes a developer would want.</p>
<h3>Learn Yii</h3>
<p>The Yii community has a significant amount of support. For example, Jeffrey Winesett, who is part of the current Yii development team, has posted several screencasts to help developers learn Yii.</p>
<p><iframe src="http://player.vimeo.com/video/16953036" width="500" height="281" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Winesett has also written a book, Agile Web Application Development with Yii 1.1 and PHP5, that will help beginners become familiar with the framework.</p>
<p>Another book, Yii 1.1 Application Development Cookbook, from Yii development team member Alexander Makarov, is also a good resource for learning the framework.</p>
<p>Finally, the Yii Framework site also has good documentation for getting started.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/Yii-Framework-Basics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fast Style Sheets with Bear CSS</title>
		<link>http://ecommercedeveloper.com/articles/Fast-Style-Sheets-with-Bear-CSS/</link>
		<comments>http://ecommercedeveloper.com/articles/Fast-Style-Sheets-with-Bear-CSS/#comments</comments>
		<pubDate>Wed, 19 Sep 2012 15:01:57 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925051</guid>
		<description><![CDATA[Bear CSS is a handy little web application that automatically generates a blank, cascading style sheet template customized to match the HTML markup from a given web page.
CSS is the Internet&#8217;s style and layout language. It is responsible for describing how a web page or ... ]]></description>
				<content:encoded><![CDATA[<p><strong>Bear CSS</strong> is a handy little web application that automatically generates a blank, cascading style sheet template customized to match the HTML markup from a given web page.</p>
<p>CSS is the Internet&#8217;s style and layout language. It is responsible for describing how a web page or application should look, where component elements should be positioned, and even how some basic interactions should be managed.</p>
<p>Increasingly, many tasks that might have been handled in HTML markup or even with a server-side scripting language like PHP or Python are becoming part of the CSS domain. As an example, earlier in the mobile Internet revolution, developers would build separate websites or applications for the desktop and mobile versions of a site. Now most savvy web designers and developers rely on CSS to adapt to the device regardless of whether that device is a desktop, a laptop, a tablet, a smartphone, or even a television. </p>
<p>Similarly, many site animations, including some content sliders, are now written with CSS transitions or key frame animations.</p>
<h3>CSS is Becoming More Complex</h3>
<p>This trend toward doing more with CSS has made the language more complex and has given rise to a number of frameworks and extensions. SASS — Syntactically Awesome Style Sheets, which adds nested rules, variables, mixins, and more to CSS — would be an example.</p>
<p>One constant with seemingly every new CSS feature, framework, or extension is that a web designer or developer must list out, if you will, all of the elements in the HMTL markup or order to systematically write the necessary style declarations.</p>
<p>Sometimes this CSS “templating” process — that is the listing out of each applicable element — takes place element by element as the web designer or developer moves through the markup. Other times an entire skeleton is created, organizing the parts by function or position. But again, almost regardless of whether or not a CSS framework is used or which framework is used, at some point the specific elements in a given page&#8217;s markup must be enumerated and organized in a style sheet.</p>
<h3>Bear CSS Provides a Nice Starting Point</h3>
<p>It is this specific task, outlining or templating a web page&#8217;s elements that <a href=”http://bearcss.com/”>Bear CSS</a> does. </p>
<p>Imagine that the code below represents the markup for some new web page.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;!</span>doctype html<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;</span>html<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>head<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>meta charset<span class="sy0">=</span><span class="st0">&quot;utf-8&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;!--</span><span class="br0">&#91;</span><span class="kw1">if</span> lt IE <span class="nu0">9</span><span class="br0">&#93;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>script src<span class="sy0">=</span><span class="st0">&quot;http://html5shim.googlecode.com/svn/trunk/html5.js&quot;</span><span class="sy0">&gt;&lt;/</span>script<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;!</span><span class="br0">&#91;</span>endif<span class="br0">&#93;</span><span class="sy0">--&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>link rel<span class="sy0">=</span><span class="st0">&quot;stylesheet&quot;</span> media<span class="sy0">=</span><span class="st0">&quot;all&quot;</span> href<span class="sy0">=</span><span class="st0">&quot;&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>meta <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;viewport&quot;</span> content<span class="sy0">=</span><span class="st0">&quot;width=device-width, initial-scale=1&quot;</span><span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;!--</span> Adding <span class="st0">&quot;maximum-scale=1&quot;</span> fixes the Mobile Safari auto<span class="sy0">-</span>zoom bug<span class="sy0">:</span> http<span class="sy0">:</span><span class="co1">//filamentgroup.com/examples/iosScaleBug/ --&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;/</span>head<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>body lang<span class="sy0">=</span><span class="st0">&quot;en&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>header<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>h1<span class="sy0">&gt;</span>Fast Style Sheets<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>nav<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>ul<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;#&quot;</span><span class="sy0">&gt;</span>Home<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;#&quot;</span><span class="sy0">&gt;</span>Away<span class="sy0">&lt;/</span>a<span class="sy0">&gt;&lt;/</span>li<span class="sy0">&gt;</span> &nbsp; &nbsp; &nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>nav<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;/</span>header<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>div id<span class="sy0">=</span><span class="st0">&quot;main&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>form<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>label <span class="kw1">for</span><span class="sy0">=</span><span class="st0">&quot;first-name&quot;</span><span class="sy0">&gt;</span>Your First <span class="kw3">Name</span><span class="sy0">:&lt;/</span>label<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>input <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;first-name&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;first-name&quot;</span> type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>label <span class="kw1">for</span><span class="sy0">=</span><span class="st0">&quot;last-name&quot;</span><span class="sy0">&gt;</span>Your Last <span class="kw3">Name</span><span class="sy0">:&lt;/</span>label<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>input <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;last-name&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;last-name&quot;</span> type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;submit&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;Submit&quot;</span> <span class="sy0">/&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>form<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>aside<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p<span class="sy0">&gt;</span>The form will let you submit your <span class="kw3">name</span> <span class="kw1">for</span> something or other.<span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>aside<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;&lt;!--</span> #main <span class="sy0">--&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>footer<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>p<span class="sy0">&gt;</span>Some footer copy<span class="sy0">&lt;/</span>p<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;/</span>footer<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>body<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; </div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>html<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;!doctype html&gt;
&lt;html&gt;

	&lt;head&gt;
		&lt;meta charset="utf-8"/&gt;
		
		&lt;!--[if lt IE 9]&gt;
			&lt;script src="http://html5shim.googlecode.com/svn/trunk/html5.js"&gt;&lt;/script&gt;
		&lt;![endif]--&gt;
		&lt;link rel="stylesheet" media="all" href=""/&gt;
		&lt;meta name="viewport" content="width=device-width, initial-scale=1"/&gt;
		&lt;!-- Adding "maximum-scale=1" fixes the Mobile Safari auto-zoom bug: http://filamentgroup.com/examples/iosScaleBug/ --&gt;
	&lt;/head&gt;
	
	&lt;body lang="en"&gt;
		&lt;header&gt;
			&lt;h1&gt;Fast Style Sheets&lt;/h1&gt;
			&lt;nav&gt;
				&lt;ul&gt;
					&lt;li&gt;&lt;a href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;	
					&lt;li&gt;&lt;a href="#"&gt;Away&lt;/a&gt;&lt;/li&gt;				
				&lt;/ul&gt;
			&lt;/nav&gt;
		&lt;/header&gt;
		&lt;div id="main"&gt;
			&lt;form&gt;
				&lt;label for="first-name"&gt;Your First Name:&lt;/label&gt;
				&lt;input name="first-name" id="first-name" type="text"&gt;
				&lt;label for="last-name"&gt;Your Last Name:&lt;/label&gt;
				&lt;input name="last-name" id="last-name" type="text"&gt;
				&lt;input type="submit" value="Submit" /&gt;
			&lt;/form&gt;
			&lt;aside&gt;
				&lt;p&gt;The form will let you submit your name for something or other.&lt;/p&gt;
			&lt;/aside&gt;
		&lt;/div&gt;&lt;!-- #main --&gt;
		&lt;footer&gt;
			&lt;p&gt;Some footer copy&lt;/p&gt;
		&lt;/footer&gt;
	&lt;/body&gt;
	
&lt;/html&gt;</pre></div></div>

<p>Navigating to the Bear CSS website, a web designer or developer could easily upload a copy of the markup using the site&#8217;s large “Upload HTML” button.</p>
<div id="attachment_925052" class="wp-caption alignnone" style="width: 878px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/bearcss-1-upload.png" alt="Bear CSS is a simple two-step process. The first step is to upload an HTML file." title="bearcss-1-upload" width="868" height="550" class="size-full wp-image-925052" /><p class="wp-caption-text">Bear CSS is a simple two-step process. The first step is to upload an HTML file.</p></div>
<p>The button opens up a standard file selection window. The Bear CSS application quickly processes the HTML file and generates a CSS template or outline that may be downloaded.</p>
<div id="attachment_925053" class="wp-caption alignnone" style="width: 580px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/bearcss-2-download.png" alt="In the second step, a web designer or developer will simply download the style sheet template." title="bearcss-2-download" width="570" height="344" class="size-full wp-image-925053" /><p class="wp-caption-text">In the second step, a web designer or developer will simply download the style sheet template.</p></div>
<p>The style sheet template will open in a new browser window, from which it can easily be copied and employed in the web project.</p>
<p>For example, here is the style sheet template or outline that Bear CSS generated based on the example HTML shown above.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">html <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">body <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="coMULTI">/*******************************************************************</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">LAYOUT</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">*******************************************************************/</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">div <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">#main <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">header <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">nav <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">footer <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">aside <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="coMULTI">/*******************************************************************</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">LINKS</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">*******************************************************************/</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">a <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="coMULTI">/*******************************************************************</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">TYPOGRAPHY</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">*******************************************************************/</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">h1 <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">p <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="coMULTI">/*******************************************************************</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">FORMS</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">*******************************************************************/</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">form <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">label <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">input <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">#first<span class="sy0">-</span><span class="kw3">name</span> <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">#last<span class="sy0">-</span><span class="kw3">name</span> <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="coMULTI">/*******************************************************************</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">LISTS</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">*******************************************************************/</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">ul <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">li <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span> </div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">html { 


} 

body { 


} 


/*******************************************************************
LAYOUT
*******************************************************************/

div { 


} 

#main { 


} 

header { 


} 

nav { 


} 

footer { 


} 

aside { 


} 


/*******************************************************************
LINKS
*******************************************************************/

a { 


} 


/*******************************************************************
TYPOGRAPHY
*******************************************************************/

h1 { 


} 

p { 


} 


/*******************************************************************
FORMS
*******************************************************************/

form { 


} 

label { 


} 

input { 


} 

#first-name { 


} 

#last-name { 


} 


/*******************************************************************
LISTS
*******************************************************************/

ul { 


} 

li { 


} </pre></div></div>

<p>The style sheet outline is bare, but it has also saved a bit of time that would have otherwise been spent doing a boring and repetitive task.</p>
<p>The template is also relatively well organized, and may help a web designer or developer avoid repeating style descriptions.</p>
<h3>Summing Up</h3>
<p>Bear CSS is a fast and helpful application that creates a bare — assuming that the developers intended the pun — style sheet template.</p>
<p>Developer Kyle Gawley and multi-discipline designer Jordan Henderson, both from Ireland, clearly created the app to take on a simple but repetitive task common to nearly every website and web application project.</p>
<h3>Related Articles</h3>
<ul>
<li><a href="http://ecommercedeveloper.com/articles/2372-building-pure-css-mega-menus/">Building Pure CSS Mega Menus</a></li>
<li><a href="http://ecommercedeveloper.com/uncategorized/19-new-css3-tutorials/" title="19 New CSS3 Tutorials">19 New CSS3 Tutorials</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3614-css3-image-filters-in-the-near-future/" title="CSS3 Image Filters in the Near Future">CSS3 Image Filters in the Near Future</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/Fast-Style-Sheets-with-Bear-CSS/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>16 New Illustrator Tutorials</title>
		<link>http://ecommercedeveloper.com/articles/16-New-Illustrator-Tutorials/</link>
		<comments>http://ecommercedeveloper.com/articles/16-New-Illustrator-Tutorials/#comments</comments>
		<pubDate>Tue, 18 Sep 2012 05:25:18 +0000</pubDate>
		<dc:creator>Sig Ueland</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Design & Inspiration]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Photoshop & Illustrator]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925017</guid>
		<description><![CDATA[Adobe Illustrator is a dynamic tool for creating scalable vector artwork. And there is always a fresh supply of tutorials to master Illustrator’s tools and effects.
Here is a list of recent tutorials for Illustrator CS6. Practice Illustrator&#8217;s new features to strengthen your scalable vector design. ... ]]></description>
				<content:encoded><![CDATA[<p><strong>Adobe Illustrator is </strong>a dynamic tool for creating scalable vector artwork. And there is always a fresh supply of tutorials to master Illustrator’s tools and effects.</p>
<p>Here is a list of recent tutorials for Illustrator CS6. Practice Illustrator&#8217;s new features to strengthen your scalable vector design. Utilize image trace, create repeatable patterns, apply 3D effects, and more.</p>
<h3>New Illustrator Tutorials</h3>
<p><strong><a href="http://tv.adobe.com/show/learn-illustrator-cs6/">Learn Illustrator CS6</a>.</strong> Learn the basics of Illustrator CS6 with &#8220;Getting Started&#8221; and &#8220;New Features&#8221; tutorials by product experts. This series of short tutorials will get you up and running with Illustrator CS6 and its new tools.</p>
<div id="attachment_925020" class="wp-caption alignnone" style="width: 510px"><a href="http://tv.adobe.com/show/learn-illustrator-cs6/"><img class="size-full wp-image-925020" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Learn-Illustrator-CS6.jpg" alt="Adobe Illustrator" width="500" height="279" /></a><p class="wp-caption-text">Discover the new features of Adobe Illustrator CS6.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.astutegraphics.com/blog/why-you-should-use-adobe-illustrator-to-create-user-interfaces/">Why You Should Use Adobe Illustrator to Create User Interfaces</a>.</strong> Novice designers always come up with a question about which application to use to create user interfaces. Most choose a bitmap editor such as Photoshop. However, vector editors are better suited for this purpose.</p>
<div id="attachment_925021" class="wp-caption alignnone" style="width: 510px"><a href="http://www.astutegraphics.com/blog/why-you-should-use-adobe-illustrator-to-create-user-interfaces/"><img class="size-full wp-image-925021" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Why-you-should-use-Adobe-Illustrator-to-create-user-interfaces.jpg" alt="User Interface Image" width="500" height="472" /></a><p class="wp-caption-text">Create a user interface with a vector editor.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://vector.tutsplus.com/tutorials/illustration/quick-tip-how-to-easily-outline-curly-letters/">How to Easily Outline Curly Letters</a>.</strong> Making smooth looking curves and curls in vector can be tricky, especially if you’re working with hand drawn forms. This tutorial shows the process of outlining extremely curly letters that have been hand drawn and scanned into the computer.</p>
<div id="attachment_925022" class="wp-caption alignnone" style="width: 510px"><a href="http://vector.tutsplus.com/tutorials/illustration/quick-tip-how-to-easily-outline-curly-letters/"><img class="size-full wp-image-925022" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Quick-Tip-How-to-Easily-Outline-Curly-Letters.jpg" alt="Curly Letters Image" width="500" height="417" /></a><p class="wp-caption-text">Learn to outline extremely curly letters.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://blog.spoongraphics.co.uk/tutorials/create-a-retro-triangular-pattern-design-in-illustrator">Create a Retro Triangular Pattern Design in Illustrator</a>.</strong> Follow this step-by-step tutorial to create a popular retro pattern of colorful squares and triangles. Use tools to accurately align elements, then see how the Pathfinder can easily create custom shapes.</p>
<div id="attachment_925023" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.spoongraphics.co.uk/tutorials/create-a-retro-triangular-pattern-design-in-illustrator"><img class="size-full wp-image-925023" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-a-retro-trianlge.jpg" alt="Retro Triangular Pattern Image" width="500" height="397" /></a><p class="wp-caption-text">Align elements and create custom shapes to produce a pattern.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.noupe.com/tutorial/adobe-illustrator-tutorial-create-simple-drop-down-menu.html">Create a Simple Drop-Down Menu</a>.</strong> In this tutorial, learn how to create a simple drop-down menu. Start with rectangles and simple paths, some basic vector shape building techniques and the Rounded Corners effect. Then use multiple fills and strokes along with the Drop Shadow effect and some simple blending techniques.</p>
<div id="attachment_925024" class="wp-caption alignnone" style="width: 510px"><a href="http://www.noupe.com/tutorial/adobe-illustrator-tutorial-create-simple-drop-down-menu.html"><img class="size-full wp-image-925024" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-a-Simple-Drop-Down-Menu.jpg" alt="Drop-Down Menu Image" width="500" height="545" /></a><p class="wp-caption-text">Build a drop-down menu with basic shapes and Illustrator effects.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.computerarts.co.uk/tutorials/create-3d-custom-map-illustrator">Create a 3D Custom Map in Illustrator</a>.</strong> Learn how to create isometric icons that you can build up into a 3D custom map or cityscape image. Once you get the hang of drawing the simplest shapes in this isometric style, you can draw just about anything.</p>
<div id="attachment_925026" class="wp-caption alignnone" style="width: 510px"><a href="http://www.computerarts.co.uk/tutorials/create-3d-custom-map-illustrator"><img class="size-full wp-image-925026" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-a-3D-custom-map-in-Illustrator1.jpg" alt="3D Cityscape Image" width="500" height="309" /></a><p class="wp-caption-text">Create isometric icons to build a 3D map.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.computerarts.co.uk/tutorials/create-retro-graphics-illustrator">Create Retro Graphics in Illustrator</a>.</strong> In this tutorial, create a cool graphic with a retro feel in just a few simple steps. Form simple vector shapes with the Pen tool and then add textures for a retro aesthetic.</p>
<div id="attachment_925027" class="wp-caption alignnone" style="width: 510px"><a href="http://www.computerarts.co.uk/tutorials/create-retro-graphics-illustrator"><img class="size-full wp-image-925027" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-retro-graphics-in-Illustrator.jpg" alt="Retro Graphic Camera Image" width="500" height="309" /></a><p class="wp-caption-text">Form simple vector shapes and add textures to create a retro graphic.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.digitalartsonline.co.uk/tutorials/?featureID=3369042">Create a Textured Vector Cityscape</a>.</strong> Create a cityscape using vectors and points, with either lines or blocks of color, and a combination of a build-up of layers within Illustrator. It is deliberately limited in its technique to achieve the hard edges of modern architecture.</p>
<div id="attachment_925028" class="wp-caption alignnone" style="width: 510px"><a href="http://www.digitalartsonline.co.uk/tutorials/?featureID=3369042"><img class="size-full wp-image-925028" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-a-textured-vector-cityscape.jpg" alt="Textured Vector Cityscape Image" width="500" height="360" /></a><p class="wp-caption-text">Build a cityscape with layers of vector shapes.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://blog.spoongraphics.co.uk/tutorials/how-to-create-a-vector-sponge-art-effect-in-illustrator">How to Create a Vector Sponge Art Effect in Illustrator</a>.</strong> Today designers and illustrators strive to add vintage style to their work with textures. In this tutorial, create a cute kids style illustration complete with a vector sponge stamp effect for a vintage look.</p>
<div id="attachment_925029" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.spoongraphics.co.uk/tutorials/how-to-create-a-vector-sponge-art-effect-in-illustrator"><img class="size-full wp-image-925029" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/How-To-Create-a-Vector-Sponge-Art-Effect-in-Illustrator.jpg" alt="Turtle Image with a Vector Sponge Stamp Effect" width="500" height="373" /></a><p class="wp-caption-text">Create a vintage look with a vector sponge effect.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.digitalartsonline.co.uk/tutorials/?featureID=3365931">Bring &#8220;Happy&#8221; to an Illustration</a>.</strong> With a carefully constructed composition that makes creative use of color, it’s possible to create an image rich in magic and positivity without it being sickly sweet. Recreate the feeling of discovering the unexpected, using as few shapes and colors as possible.</p>
<div id="attachment_925030" class="wp-caption alignnone" style="width: 510px"><a href="http://www.digitalartsonline.co.uk/tutorials/?featureID=3365931"><img class="size-full wp-image-925030" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Bring-the-happy-to-an-illustration.jpg" alt="Happy Elves Castle Image " width="500" height="707" /></a><p class="wp-caption-text">Create a magic image with only a few shapes and colors.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://www.digitalartsonline.co.uk/tutorials/?featureID=3359326">Create Art Deco Type</a>.</strong> This tutorial focuses on the process of making iconic art deco letters. Learn to create, select and position elements, without resorting to any great wizardry.</p>
<div id="attachment_925031" class="wp-caption alignnone" style="width: 510px"><a href="http://www.digitalartsonline.co.uk/tutorials/?featureID=3359326"><img class="size-full wp-image-925031" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-Art-Deco-type-art.jpg" alt="Art Deco Letter C" width="500" height="709" /></a><p class="wp-caption-text">Learn to create art deco letters with basic Illustrator tools.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://vector.tutsplus.com/tutorials/illustration/how-to-illustrate-a-3d-fire-torch/">How to Illustrate a 3D Fire Torch</a>.</strong> Create a flaming torch with vector illustration techniques. Along the way, harness powerful Illustrator tools, such as 3D, Bristle brushes, and Meshes.</p>
<div id="attachment_925033" class="wp-caption alignnone" style="width: 510px"><a href="http://vector.tutsplus.com/tutorials/illustration/how-to-illustrate-a-3d-fire-torch/"><img class="size-full wp-image-925033" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/How-to-Illustrate-a-3D-Fire-Torch1.jpg" alt="3D Torch Image" width="500" height="500" /></a><p class="wp-caption-text">Use powerful tools to create a 3D torch.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://vector.tutsplus.com/tutorials/illustration/vector-space-composition/">Create a Vector Space Composition in Illustrator</a>.</strong> In this tutorial, learn how to create a vector space composition featuring the planet Saturn. Use simple shapes, various Blending Modes, and follow a straightforward workflow that is as simple as a basic circle.</p>
<div id="attachment_925034" class="wp-caption alignnone" style="width: 510px"><a href="http://vector.tutsplus.com/tutorials/illustration/vector-space-composition/"><img class="size-full wp-image-925034" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Create-a-Vector-Space-Composition-in-Illustrator.jpg" alt="Vector Space Composition Image" width="500" height="408" /></a><p class="wp-caption-text">Use simple shapes and tools to create a vector space composition.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://vector.tutsplus.com/tutorials/illustration/quick-tip-how-to-draw-an-apricot-with-the-mesh-tool/">How to Draw an Apricot with the Mesh Tool</a>.</strong> Follow this detailed quick tip and learn how to draw an apricot using the Mesh Tool. It includes step-by-step instructions on how to create all the mesh points and lines, plus all the color shades used so you can draw a realistic apricot from scratch.</p>
<div id="attachment_925035" class="wp-caption alignnone" style="width: 510px"><a href="http://vector.tutsplus.com/tutorials/illustration/quick-tip-how-to-draw-an-apricot-with-the-mesh-tool/"><img class="size-full wp-image-925035" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/How-to-Draw-an-Apricot-with-the-Mesh-Tool.jpg" alt="Apricots Image" width="500" height="333" /></a><p class="wp-caption-text">Learn how to draw an apricot with the Mesh tool.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://vector.tutsplus.com/tutorials/typography/how-to-create-hand-painted-sign-in-adobe-illustrator/">How to Create Hand-painted Sign in Adobe Illustrator</a>.</strong> In this tutorial, learn how to create an inscription in a retro style. In the process, learn something about letter anatomy. The techniques described here will be useful not only for the work with typography, but also for the work with any vector objects.</p>
<div id="attachment_925036" class="wp-caption alignnone" style="width: 510px"><a href="http://vector.tutsplus.com/tutorials/typography/how-to-create-hand-painted-sign-in-adobe-illustrator/"><img class="size-full wp-image-925036" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/How-to-Create-Hand-Painted-Sign.jpg" alt="Hand-Painted Sign Image" width="500" height="333" /></a><p class="wp-caption-text">Create an inscription with a retro style.</p></div>
<p>&#8211;</p>
<p><strong><a href="http://vector.tutsplus.com/tutorials/illustration/creating-the-sole-of-a-sports-shoe-with-the-appearance-panel/">Creating the Sole of a Sports Shoe with the Appearance Panel</a>.</strong> In this tutorial, use the Appearance panel to create a stylized version of the bottom of a sneaker. It’s a great exercise for those who are just learning to navigate the Appearance panel.</p>
<p><div id="attachment_925037" class="wp-caption alignnone" style="width: 510px"><a href="http://vector.tutsplus.com/tutorials/illustration/creating-the-sole-of-a-sports-shoe-with-the-appearance-panel/"><img class="size-full wp-image-925037" src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/Creating-the-Sole-of-a-Sports-Shoe.jpg" alt="Sports Shoe Soles Image" width="500" height="585" /></a><p class="wp-caption-text">Use the Appearance panel to create the soles of sneakers.</p></div><br />
<br /></br></p>
<h3>Read More</h3>
<ul>
<li><a href="http://ecommercedeveloper.com/articles/2709-design-by-grid-in-photoshop-or-illustrator/">Design By Grid in Photoshop or Illustrator</a></li>
<li><a href="http://ecommercedeveloper.com/articles/2515-create-detailed-wavy-elements-in-photoshop-and-illustrator/">Create Detailed ‘Wavy’ Elements in Photoshop and Illustrator </a></li>
<li><a href="http://ecommercedeveloper.com/articles/2491-working-across-adobe-photoshop-and-illustrator/">Working Across Adobe Photoshop and Illustrator </a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/16-New-Illustrator-Tutorials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use PHP Webbot to Complete GET-Method Forms</title>
		<link>http://ecommercedeveloper.com/articles/use-php-webbot-to-complete-get-method-forms/</link>
		<comments>http://ecommercedeveloper.com/articles/use-php-webbot-to-complete-get-method-forms/#comments</comments>
		<pubDate>Mon, 17 Sep 2012 16:14:08 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Developers]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925038</guid>
		<description><![CDATA[A simple webbot can submit GET-based web forms with just a few lines of code, meaning that some often repeated development or business tasks may be thus automated.
Hypertext Transfer Protocol, or HTTP, is the Internet&#8217;s most basic method of data communication, and it supports a ... ]]></description>
				<content:encoded><![CDATA[<p>A simple webbot can submit GET-based web forms with just a few lines of code, meaning that some often repeated development or business tasks may be thus automated.</p>
<p>Hypertext Transfer Protocol, or HTTP, is the Internet&#8217;s most basic method of data communication, and it supports a few request protocols, including GET. The GET method is often used in conjunction with web forms and passes form parameters in the open via the page URL.</p>
<p>At the time of writing, the main search form on Amazon&#8217;s website was an example of a GET-based form. Looking at the site&#8217;s HTML markup, the associated form element clearly states its method.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>form action<span class="sy0">=</span><span class="st0">'/s/ref=nb_sb_noss'</span> method<span class="sy0">=</span><span class="st0">'get'</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">'site-search'</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-searchbar-inner'</span> <span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;form action='/s/ref=nb_sb_noss' method='get' name='site-search' class='nav-searchbar-inner' &gt;</pre></div></div>

<div id="attachment_925039" class="wp-caption alignnone" style="width: 795px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/get-1-amazon-search.png" alt="The popular Amazon online store uses the GET method for its site search form." title="get-1-amazon-search" width="785" height="207" class="size-full wp-image-925039" /><p class="wp-caption-text">The popular Amazon online store uses the GET method for its site search form.</p></div>
<h3>Dissect the Form</h3>
<p>When trying to automate form submission, this sort of markup is just the place to start. Not only does it explicitly state that the server is expecting information via GET, it can provide other insight about the key and value pairs the server requires.</p>
<p>In his book, _Webbots, Spiders, and Screen Scrapers, a Guide to Developing Internet Agents with PHP/cURL_, author and web developer Michael Schrenk said that “it&#8217;s important to submit forms exactly as the webserver expects them to be submitted, or the server may generate errors in its log files.”</p>
<p>These errors can cause two sorts of problems. First, it may be that the webbot will not return the desired information or achieve the expected goal. Second, a webbot designer doesn&#8217;t want to interfere with the site&#8217;s normal operation.</p>
<p>Looking carefully at a form&#8217;s structure in the markup makes it possible to understand what sort of information the server is expecting from the form and how that information should be formatted.</p>
<p>Here is the complete markup for the site search form from Amazon&#8217;s home page. The code sample was taken on September 4, 2012.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;</span>form action<span class="sy0">=</span><span class="st0">'/s/ref=nb_sb_noss'</span> method<span class="sy0">=</span><span class="st0">'get'</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">'site-search'</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-searchbar-inner'</span><span class="sy0">&gt;</span> &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>span id<span class="sy0">=</span><span class="st0">'nav-search-in'</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-sprite'</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>span id<span class="sy0">=</span><span class="st0">'nav-search-in-content'</span> data<span class="sy0">-</span>value<span class="sy0">=</span><span class="st0">&quot;search-alias=aps&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">All<span class="sy0">&lt;/</span>span<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>span <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-down-arrow nav-sprite'</span><span class="sy0">&gt;&lt;/</span>span<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="sy0">&lt;</span>select <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;url&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchDropdownBox&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;searchSelect&quot;</span> title<span class="sy0">=</span><span class="st0">&quot;Search in&quot;</span> &nbsp; <span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=aps&quot;</span> selected<span class="sy0">=</span><span class="st0">&quot;selected&quot;</span><span class="sy0">&gt;</span>All Departments<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=instant-video&quot;</span><span class="sy0">&gt;</span>Amazon Instant Video<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=appliances&quot;</span><span class="sy0">&gt;</span>Appliances<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=mobile-apps&quot;</span><span class="sy0">&gt;</span>Apps <span class="kw1">for</span> Android</div></li>
<li class="li2"><div class="de2"><span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=arts-crafts&quot;</span><span class="sy0">&gt;</span>Arts<span class="sy0">,</span> Crafts <span class="sy0">&amp;</span> Sewing<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=automotive&quot;</span><span class="sy0">&gt;</span>Automotive<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=baby-products&quot;</span><span class="sy0">&gt;</span>Baby<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=beauty&quot;</span><span class="sy0">&gt;</span>Beauty<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=stripbooks&quot;</span><span class="sy0">&gt;</span>Books<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=mobile&quot;</span><span class="sy0">&gt;</span>Cell Phones <span class="sy0">&amp;</span> Accessories<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=apparel&quot;</span><span class="sy0">&gt;</span>Clothing <span class="sy0">&amp;</span> Accessories<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=collectibles&quot;</span><span class="sy0">&gt;</span>Collectibles<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=computers&quot;</span><span class="sy0">&gt;</span>Computers<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=electronics&quot;</span><span class="sy0">&gt;</span>Electronics<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=gift-cards&quot;</span><span class="sy0">&gt;</span>Gift Cards Store<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=grocery&quot;</span><span class="sy0">&gt;</span>Grocery <span class="sy0">&amp;</span> Gourmet Food<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=hpc&quot;</span><span class="sy0">&gt;</span>Health <span class="sy0">&amp;</span> Personal Care<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=garden&quot;</span><span class="sy0">&gt;</span>Home <span class="sy0">&amp;</span> Kitchen<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=industrial&quot;</span><span class="sy0">&gt;</span>Industrial <span class="sy0">&amp;</span> Scientific<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=jewelry&quot;</span><span class="sy0">&gt;</span>Jewelry<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=digital-text&quot;</span><span class="sy0">&gt;</span>Kindle Store<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=magazines&quot;</span><span class="sy0">&gt;</span>Magazine Subscriptions<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=movies-tv&quot;</span><span class="sy0">&gt;</span>Movies <span class="sy0">&amp;</span> TV<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=digital-music&quot;</span><span class="sy0">&gt;</span>MP3 Downloads<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=popular&quot;</span><span class="sy0">&gt;</span>Music<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=mi&quot;</span><span class="sy0">&gt;</span>Musical Instruments<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=office-products&quot;</span><span class="sy0">&gt;</span>Office Products<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=lawngarden&quot;</span><span class="sy0">&gt;</span>Patio<span class="sy0">,</span> Lawn <span class="sy0">&amp;</span> Garden<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=pets&quot;</span><span class="sy0">&gt;</span>Pet Supplies<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=shoes&quot;</span><span class="sy0">&gt;</span>Shoes<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=software&quot;</span><span class="sy0">&gt;</span>Software<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=sporting&quot;</span><span class="sy0">&gt;</span>Sports <span class="sy0">&amp;</span> Outdoors<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=tools&quot;</span><span class="sy0">&gt;</span>Tools <span class="sy0">&amp;</span> <span class="kw3">Home</span> Improvement<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=toys-and-games&quot;</span><span class="sy0">&gt;</span>Toys <span class="sy0">&amp;</span> Games<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=videogames&quot;</span><span class="sy0">&gt;</span>Video Games<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=watches&quot;</span><span class="sy0">&gt;</span>Watches<span class="sy0">&lt;/</span>option<span class="sy0">&gt;&lt;/</span>select<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>span<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-searchfield-outer nav-sprite'</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-searchfield-inner nav-sprite'</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-searchfield-width'</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div id<span class="sy0">=</span><span class="st0">'nav-iss-attach'</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">'text'</span> id<span class="sy0">=</span><span class="st0">'twotabsearchtextbox'</span> title<span class="sy0">=</span><span class="st0">'Search For'</span> value<span class="sy0">=</span><span class="st0">''</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">'field-keywords'</span> autocomplete<span class="sy0">=</span><span class="st0">'off'</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;!--</span><span class="br0">&#91;</span><span class="kw1">if</span> IE <span class="br0">&#93;</span><span class="sy0">&gt;&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-ie-min-width'</span> style<span class="sy0">=</span><span class="st0">'width: 360px'</span><span class="sy0">&gt;&lt;/</span>div<span class="sy0">&gt;&lt;!</span><span class="br0">&#91;</span>endif<span class="br0">&#93;</span><span class="sy0">--&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>div <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-submit-button nav-sprite'</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">'submit'</span> value<span class="sy0">=</span><span class="st0">'Go'</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-submit-input'</span> title<span class="sy0">=</span><span class="st0">'Go'</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>form<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>div<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;div&gt;
	&lt;form action='/s/ref=nb_sb_noss' method='get' name='site-search' class='nav-searchbar-inner'&gt;   
            	&lt;span id='nav-search-in' class='nav-sprite'&gt;
              		&lt;span id='nav-search-in-content' data-value="search-alias=aps"&gt;
All&lt;/span&gt;
              		&lt;span class='nav-down-arrow nav-sprite'&gt;&lt;/span&gt;
             		 &lt;select name="url" id="searchDropdownBox" class="searchSelect" title="Search in"   &gt;
				&lt;option value="search-alias=aps" selected="selected"&gt;All Departments&lt;/option&gt;
				&lt;option value="search-alias=instant-video"&gt;Amazon Instant Video&lt;/option&gt;
				&lt;option value="search-alias=appliances"&gt;Appliances&lt;/option&gt;
				&lt;option value="search-alias=mobile-apps"&gt;Apps for Android
&lt;/option&gt;
				&lt;option value="search-alias=arts-crafts"&gt;Arts, Crafts &amp; Sewing&lt;/option&gt;
				&lt;option value="search-alias=automotive"&gt;Automotive&lt;/option&gt;
				&lt;option value="search-alias=baby-products"&gt;Baby&lt;/option&gt;
				&lt;option value="search-alias=beauty"&gt;Beauty&lt;/option&gt;
				&lt;option value="search-alias=stripbooks"&gt;Books&lt;/option&gt;
				&lt;option value="search-alias=mobile"&gt;Cell Phones &amp; Accessories&lt;/option&gt;
				&lt;option value="search-alias=apparel"&gt;Clothing &amp; Accessories&lt;/option&gt;
				&lt;option value="search-alias=collectibles"&gt;Collectibles&lt;/option&gt;
				&lt;option value="search-alias=computers"&gt;Computers&lt;/option&gt;
				&lt;option value="search-alias=electronics"&gt;Electronics&lt;/option&gt;
				&lt;option value="search-alias=gift-cards"&gt;Gift Cards Store&lt;/option&gt;
				&lt;option value="search-alias=grocery"&gt;Grocery &amp; Gourmet Food&lt;/option&gt;
				&lt;option value="search-alias=hpc"&gt;Health &amp; Personal Care&lt;/option&gt;
				&lt;option value="search-alias=garden"&gt;Home &amp; Kitchen&lt;/option&gt;
				&lt;option value="search-alias=industrial"&gt;Industrial &amp; Scientific&lt;/option&gt;
				&lt;option value="search-alias=jewelry"&gt;Jewelry&lt;/option&gt;
				&lt;option value="search-alias=digital-text"&gt;Kindle Store&lt;/option&gt;
				&lt;option value="search-alias=magazines"&gt;Magazine Subscriptions&lt;/option&gt;
				&lt;option value="search-alias=movies-tv"&gt;Movies &amp; TV&lt;/option&gt;
				&lt;option value="search-alias=digital-music"&gt;MP3 Downloads&lt;/option&gt;
				&lt;option value="search-alias=popular"&gt;Music&lt;/option&gt;
				&lt;option value="search-alias=mi"&gt;Musical Instruments&lt;/option&gt;
				&lt;option value="search-alias=office-products"&gt;Office Products&lt;/option&gt;
				&lt;option value="search-alias=lawngarden"&gt;Patio, Lawn &amp; Garden&lt;/option&gt;
				&lt;option value="search-alias=pets"&gt;Pet Supplies&lt;/option&gt;
				&lt;option value="search-alias=shoes"&gt;Shoes&lt;/option&gt;
				&lt;option value="search-alias=software"&gt;Software&lt;/option&gt;
				&lt;option value="search-alias=sporting"&gt;Sports &amp; Outdoors&lt;/option&gt;
				&lt;option value="search-alias=tools"&gt;Tools &amp; Home Improvement&lt;/option&gt;
				&lt;option value="search-alias=toys-and-games"&gt;Toys &amp; Games&lt;/option&gt;
				&lt;option value="search-alias=videogames"&gt;Video Games&lt;/option&gt;
				&lt;option value="search-alias=watches"&gt;Watches&lt;/option&gt;&lt;/select&gt;
          		&lt;/span&gt;

            &lt;div class='nav-searchfield-outer nav-sprite'&gt;
              &lt;div class='nav-searchfield-inner nav-sprite'&gt;
                &lt;div class='nav-searchfield-width'&gt;
                  &lt;div id='nav-iss-attach'&gt;
                    &lt;input type='text' id='twotabsearchtextbox' title='Search For' value='' name='field-keywords' autocomplete='off'&gt;
                  &lt;/div&gt;
                &lt;/div&gt;
                &lt;!--[if IE ]&gt;&lt;div class='nav-ie-min-width' style='width: 360px'&gt;&lt;/div&gt;&lt;![endif]--&gt;
              &lt;/div&gt;
            &lt;/div&gt;

            &lt;div class='nav-submit-button nav-sprite'&gt;
              &lt;input type='submit' value='Go' class='nav-submit-input' title='Go'&gt;
            &lt;/div&gt;

          &lt;/form&gt;
        &lt;/div&gt;</pre></div></div>

<p>This markup acts like a specification for what the server is looking for when this form is submitted.</p>
<p>As an example, the form&#8217;s action describes the path to the script meant to process the form. In this case that script is located at /s/ref=nb_sb_noss.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>form action<span class="sy0">=</span><span class="st0">'/s/ref=nb_sb_noss'</span> method<span class="sy0">=</span><span class="st0">'get'</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">'site-search'</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">'nav-searchbar-inner'</span><span class="sy0">&gt;</span> </div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;form action='/s/ref=nb_sb_noss' method='get' name='site-search' class='nav-searchbar-inner'&gt; </pre></div></div>

<p>The method tells us that the server is expecting GET, meaning the GET request will begin like the following, since the parent directory is “www.amazon.com” and the path to the script is “/s/ref=nb_sb_noss_1.”</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">http<span class="sy0">:</span><span class="co1">//www.amazon.com/s/ref=nb_sb_noss_1</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">http://www.amazon.com/s/ref=nb_sb_noss_1</pre></div></div>

<p>The first form input is a select with the name “url.” This will be the first key in a series of key and value pairs.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>select <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;url&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchDropdownBox&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;searchSelect&quot;</span> title<span class="sy0">=</span><span class="st0">&quot;Search in&quot;</span> &nbsp; <span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;select name="url" id="searchDropdownBox" class="searchSelect" title="Search in"   &gt;</pre></div></div>

<p>GET requests always start with a “?” so the GET request would now look something like the following.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">http<span class="sy0">:</span><span class="co1">//www.amazon.com/s/ref=nb_sb_noss_1?url=</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">http://www.amazon.com/s/ref=nb_sb_noss_1?url=</pre></div></div>

<p>The value for the “url” key should match the value set for one of the options. </p>
<p>For example, if one wanted to search all of Amazon, this value would be “search-alias=aps.” Notice that this matches the value field for the option shown below.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=aps&quot;</span> selected<span class="sy0">=</span><span class="st0">&quot;selected&quot;</span><span class="sy0">&gt;</span>All Departments<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;option value="search-alias=aps" selected="selected"&gt;All Departments&lt;/option&gt;</pre></div></div>

<p>If the search was to be limited to books, the desired value would be “search-alias=stripbooks.”</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>option value<span class="sy0">=</span><span class="st0">&quot;search-alias=stripbooks&quot;</span><span class="sy0">&gt;</span>Books<span class="sy0">&lt;/</span>option<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;option value="search-alias=stripbooks"&gt;Books&lt;/option&gt;</pre></div></div>

<p>In GET responses, values from options are often HTML encoded. In this example, the equals sign (=) would be replaced with the entity code “%3D” so that the resulting value would be — using the All Departments example — “search-alias%3Daps”.</p>
<p>As a result, a GET request would look like the following.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">http<span class="sy0">:</span><span class="co1">//www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps</pre></div></div>

<p>With GET, additional key and value pairs are prefaced with an ampersand (&#038;). The Amazon search form has another input field with the name “field-keywords.” </p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">'text'</span> id<span class="sy0">=</span><span class="st0">'twotabsearchtextbox'</span> title<span class="sy0">=</span><span class="st0">'Search For'</span> value<span class="sy0">=</span><span class="st0">''</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">'field-keywords'</span> autocomplete<span class="sy0">=</span><span class="st0">'off'</span><span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;input type='text' id='twotabsearchtextbox' title='Search For' value='' name='field-keywords' autocomplete='off'&gt;</pre></div></div>

<p>This name is the next key to be added to the GET request.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">http<span class="sy0">:</span><span class="co1">//www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=</pre></div></div>

<p>The final value is a text string as the input field&#8217;s type indicates. For the example, the search could be for “webbot.”</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">http<span class="sy0">:</span><span class="co1">//www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=webbot</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=webbot</pre></div></div>

<p>In typical GET fashion, a multi-word query would use plus signs (+) rather than spaces, so a search for “making webbots” would result in the following GET request. This can be added programmatically with the PHP function  urlencode().</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">http<span class="sy0">:</span><span class="co1">//www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=making+webbots</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=making+webbots</pre></div></div>

<p>As a test, one could copy the GET Request URL and paste it into a browser window. Submitting it should return an Amazon search results page.</p>
<div id="attachment_925040" class="wp-caption alignnone" style="width: 987px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/get-2-results.png" alt="the GET request successfully generates results in a browser." title="get-2-results" width="977" height="504" class="size-full wp-image-925040" /><p class="wp-caption-text">The GET request successfully generates results in a browser.</p></div>
<h3>Automating the Process</h3>
<p>If one stopped with just the GET request URL, the entire process would be something of a waste, since it would have been a lot simpler to just use the actual Amazon web form.</p>
<p>Having dissected the form and built a proper request, this process can now be automated with a webbot. </p>
<p>As an example, imagine that Amazon was a competitor, and a merchant wanted to monitor which books Amazon carried for certain topics — such as webbots, process automation, and web development.</p>
<p>A webbot (script) could be built to search Amazon for three, thirty, or three hundred terms each day, parse the resulting web pages, and store the data, so that trends in available products or prices could be monitored over time. </p>
<p>Similarly, a merchant could monitor dozens of competitors in this way. </p>
<p>Without going into the details of how to actually parse the web page content, let&#8217;s describe what a very basic, search-form-completing bot might look like.</p>
<p>First, there would be a source of search queries. For this example, an array is used.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php</div></li>
<li class="li2"><div class="de2">$keywords <span class="sy0">=</span> array<span class="br0">&#40;</span><span class="st0">'webbots'</span><span class="sy0">,</span> <span class="st0">'process automation'</span><span class="sy0">,</span> <span class="st0">'web development'</span><span class="br0">&#41;</span><span class="sy0">;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php
$keywords = array('webbots', 'process automation', 'web development');</pre></div></div>

<p>A function would be written to retrieve the search results page. This function could use cURL.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="kw2">function</span> get_search<span class="br0">&#40;</span>$url<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; $ch <span class="sy0">=</span> curl_init<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; curl_setopt<span class="br0">&#40;</span> $ch<span class="sy0">,</span> CURLOPT_URL<span class="sy0">,</span> $url<span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; curl_setopt<span class="br0">&#40;</span> $ch<span class="sy0">,</span> CURLOPT_RETURNTRANSFER<span class="sy0">,</span> <span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; $html <span class="sy0">=</span> curl_exec<span class="br0">&#40;</span>$ch<span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; <span class="co1">// code to parse and store the results page goes here.</span></div></li>
<li class="li2"><div class="de2">&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; curl_close<span class="br0">&#40;</span>$ch<span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; </div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span> </div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">function get_search($url){
	$ch = curl_init();
	curl_setopt( $ch, CURLOPT_URL, $url);
	curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
	$html = curl_exec($ch);
	
	// code to parse and store the results page goes here.
	
	curl_close($ch);
	
}	</pre></div></div>

<p>Finally, a foreach statement would call the get_search function for every search query.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">foreach<span class="br0">&#40;</span> $keywords <span class="kw1">as</span> $keyword<span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; $keyword <span class="sy0">=</span> urlencode<span class="br0">&#40;</span>$keyword<span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; $url <span class="sy0">=</span> <span class="st0">&quot;http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=&quot;</span> . $keyword<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; get_search<span class="br0">&#40;</span>$url<span class="br0">&#41;</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp; </div></li>
<li class="li1"><div class="de1"><span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">foreach( $keywords as $keyword){
	$keyword = urlencode($keyword);
	$url = "http://www.amazon.com/s/ref=nb_sb_noss_1?url=search-alias%3Daps&amp;field-keywords=" . $keyword;
	get_search($url);
}
	
?&gt;</pre></div></div>

<p>Short of the code for parsing the HTML page, this webbot will automatically search for each query on the Amazon site.</p>
<h3>Summing Up</h3>
<p>With an understanding of what kind of response a server is looking for and a relatively few lines of code, it is possible to build a PHP-based webbot that will automatically complete GET-method web forms. </p>
<p>The same principles used here could be applied to automating all sorts of online form activity.</p>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/use-php-webbot-to-complete-get-method-forms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using WordPress for Ecommerce, Part 53:  Search the Past</title>
		<link>http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-53-search-the-past/</link>
		<comments>http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-53-search-the-past/#comments</comments>
		<pubDate>Thu, 13 Sep 2012 13:13:59 +0000</pubDate>
		<dc:creator>Armando Roggio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Developers]]></category>
		<category><![CDATA[Platforms & Shopping Carts]]></category>

		<guid isPermaLink="false">http://ecommercedeveloper.com/?p=925009</guid>
		<description><![CDATA[The perfect site development project simply does not exist. Something always goes wrong or gets overlooked. So every once in a while it is a good idea to just look back at what one has been done and make sure that everything is working as ... ]]></description>
				<content:encoded><![CDATA[<p><strong>The perfect site</strong> development project simply does not exist. Something always goes wrong or gets overlooked. So every once in a while it is a good idea to just look back at what one has been done and make sure that everything is working as expected.</p>
<p>I am at an important milestone in the Alien Authority site development — on the verge of adding the product catalog and payment processing capability — so I decided to take a look back at the site I&#8217;ve been building.</p>
<p>This article in the 53rd installment of a series created to demonstrate how to use WordPress to develop an ecommerce site that sells virtual products from start to finish. The series addresses the (a) site-planning process, (b) graphic design, (c) plugin selection, (d) payment processing setup, and (e) virtual product delivery. This series also provides specific site-coding examples.</p>
<h3>The Series to Date</h3>
<ul>
<li><a href="http://ecommercedeveloper.com/articles/3289-Using-WordPress-for-Ecommerce-Part-One-Defining-the-Project">Part One: Defining the Project</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3298-Using-WordPress-for-Ecommerce-Part-Two-Logo-and-Color-Palette">Part Two: Logo and Color Palette</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3306-Using-WordPress-for-Ecommerce-Part-Three-CSS-Grid-Home-Page-Design">Part Three: CSS Grid, Home Page Design</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3312-Using-WordPress-for-Ecommerce-Part-Four-Facing-Design-Challenges">Part Four: Facing Design Challenges</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3324-Using-WordPress-for-Ecommerce-Part-Five-Install-WordPress-Copy-Theme">Part Five: Install WordPress, Copy Theme</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3326-Using-WordPress-for-Ecommerce-Part-Six-Create-a-Custom-Post-Type">Part Six: Create a Custom Post Type</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3336-Using-WordPress-for-Ecommerce-Part-Seven-More-Functions-for-the-Custom-Post-Type">Part Seven: More Functions for the Custom Post Type</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3342-Using-WordPress-for-Ecommerce-Part-Eight-Draft-HTML5-Markup">Part Eight: Draft HTML5 Markup</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3348-Using-WordPress-for-Ecommerce-Part-Nine-CSS-Begins-Font-Glitch">Part Nine: CSS Begins, Font Glitch</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3356-Using-WordPress-for-Ecommerce-Part-10-CSS-Work-Continues">Part Ten: CSS Work Continues</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3362-Using-WordPress-for-Ecommerce-Part-11-jQuery-Lends-a-Hand">Part 11: jQuery Lends a Hand</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3371-Using-WordPress-for-Ecommerce-Part-12-CSS-for-Articles-Newsletter">Part 12: CSS for Articles, Newsletter</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3377-Using-WordPress-for-Ecommerce-Part-13-CSS-for-Social-Links-the-Footer">Part 13: CSS for Social Links, the Footer</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3384-Using-WordPress-for-Ecommerce-Part-14-Tablet-Layout-Begins">Part 14: Tablet Layout Begins</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3393-Using-WordPress-for-Ecommerce-Part-15-Tablet-Layout-Continues">Part 15: Tablet Layout Continues</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3400-Using-WordPress-for-Ecommerce-Part-16-Articles-and-Videos-Styled">Part 16: Articles and Videos Styled</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3407-Using-WordPress-for-Ecommerce-Part-17-480-Pixel-Wide-Footer">Part 17: 480-Pixel-Wide Footer</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3417-Using-WordPress-for-Ecommerce-Part-18-480-Pixel-CSS-Coloring">Part 18: 480-Pixel CSS Coloring</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3422-Using-WordPress-for-Ecommerce-Part-19-Colors-Like-a-Rainbow">Part 19: Colors Like a Rainbow</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3430-Using-WordPress-for-Ecommerce-Part-20-The-Next-Size-Up">Part 20: The Next Size Up</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3438-Using-WordPress-for-Ecommerce-Part-21-Finishing-the-640-pixel-Wide-Layout">Part 21: Finishing the 640-pixel Wide Layout</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3445-Using-WordPress-for-Ecommerce-Part-22-The-Remaining-Layouts">Part 22: The Remaining Layouts</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3451-Using-WordPress-for-Ecommerce-Part-23-Completing-Remaining-Layouts">Part 23: Completing Remaining Layouts</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3458-Using-WordPress-for-Ecommerce-Part-24-Theme-Building-Begins">Part 24: Theme Building Begins</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3463-Using-WordPress-for-Ecommerce-Part-25-Switching-Style-Sheets">Part 25: Switching Style Sheets</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3469-Using-WordPress-for-Ecommerce-Part-26-Completing-the-Header-php-File">Part 26: Completing the Header.php File</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3475-Using-WordPress-for-Ecommerce-Part-27-The-WordPress-Loop">Part 27: The WordPress Loop</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3488-Using-WordPress-for-Ecommerce-Part-28-Managing-Thumbnails-and-Article-Teasers">Part 28, Managing Thumbnails and Article Teasers</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3493-Using-WordPress-for-Ecommerce-Part-29-A-Third-Loop-and-the-Footer">Part 29: A Third Loop and the Footer</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3500-Using-WordPress-for-Ecommerce-Part-30-Newsletter-Page-Template-and-Database-">Part 30: Newsletter Page Template and Database</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3503-Using-WordPress-for-Ecommerce-Part-31-Composing-the-Newsletter-Form">Part 31: Composing the Newsletter Form</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3508-Using-WordPress-for-Ecommerce-Part-32-Processing-Newsletter-Form-Data-">Part 32: Processing Newsletter Form Data</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3515-Using-WordPress-for-Ecommerce-Part-33-Integrating-MailChimp">Part 33: Integrating MailChimp</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3523-Using-WordPress-for-Ecommerce-Part-34-Modifying-the-Page-Template">Part 34: Modifying the Page Template</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3528-Using-WordPress-for-Ecommerce-Part-35-The-Contact-Form">Part 35: The Contact Form</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3543-Using-WordPress-for-Ecommerce-Part-36-When-Users-Submit">Part 36: When Users Submit</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3550-Using-WordPress-for-Ecommerce-Part-37-Additional-CSS-and-Getting-Ready-for-RSS">Part 37: Additional CSS, and Getting Ready for RSS</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3561-Using-WordPress-for-Ecommerce-Part-38-Plugin-Localization-and-Settings-Link">Part 38: Plugin Localization and Settings Link</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3577-Using-WordPress-for-Ecommerce-Part-39-Connecting-to-the-Database-Table">Part 39: Connecting to the Database Table</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3583-Using-WordPress-for-Ecommerce-Part-40-Adding-a-Style-Sheet-to-a-Plugin">Part 40: Adding a Style Sheet to a Plugin</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3594-Using-WordPress-for-Ecommerce-Part-41-Cloning-Form-Elements">Part 41: Cloning Form Elements</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3598-Using-WordPress-for-Ecommerce-Part-42-Populating-The-Options-Form">Part 42: Populating The Options Form</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3627-Using-WordPress-for-Ecommerce-Part-43-Showing-and-Hiding-Options">Part 43: Showing and Hiding Options</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3639-Using-WordPress-for-Ecommerce-Part-44-Cleaning-Up-the-Plugin">Part 44: Cleaning Up the Plugin</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3655-Using-WordPress-for-Ecommerce-Part-45-Get-RSS-Content">Part 45: Get the RSS</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3659-Using-WordPress-for-Ecommerce-Part-46-Working-the-Feeds-">Part 46: Working the Feeds</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3666-Using-WordPress-for-Ecommerce-Part-47-Timing-Cron-like-Events-in-WordPress-">Part 47: Timing Cron-like Events in WordPress</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-48-creating-the-first-digital-product/-">Part 48: Creating the First Digital Product</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-49-presenting-individual-products/">Part 49: Presenting Individual Products</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-50-displaying-category-pages/">Part 50: Displaying Category Pages</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-51-adding-text-to-a-pdf/">Part 51: Adding Text to a PDF</a></li>
<li><a href="http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-52-font-problems-and-centering-dynamic-text-on-a-pdf/">Part 52: Font Problems</a></li>
</ul>
<p>The Alien Authority website will sell alien abduction certificates that users can download, print out, and frame. As the series&#8217; title implies, the site is being built using the popular WordPress platform.</p>
<div id="attachment_925010" class="wp-caption alignnone" style="width: 1142px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/53-1-site.png" alt="The Alien Authority website will sell abduction certificates." title="53-1-site" width="1132" height="616" class="size-full wp-image-925010" /><p class="wp-caption-text">The Alien Authority website will sell abduction certificates.</p></div>
<p>As I mentioned above, for this article, I took a look back, if you will, at a couple sections of the site that I thought I had completed, only to discover that I still needed to do a bit of fine-tuning and fixing.</p>
<h3>The Search Form</h3>
<p>Perhaps the most embarrassing of these look backs had to do with the search form present on every page of the Alien Authority site.</p>
<div id="attachment_925011" class="wp-caption alignnone" style="width: 1292px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/53-2-searchform.png" alt="The search form appears on every page of the site, but it was broken." title="53-2-searchform" width="1282" height="439" class="size-full wp-image-925011" /><p class="wp-caption-text">The search form appears on every page of the site, but it was broken.</p></div>
<p>When I tried to search the site for “asteroids,” nothing happened. </p>
<p>It turned out that I had made a mistake in the searchform.php file found in the Alien Authority WordPress theme. Here is the code from that file. Notice my mistake?</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php</div></li>
<li class="li2"><div class="de2"><span class="coMULTI">/**</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* The template for displaying search forms </span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;*</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* @package WordPress</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;* @subpackage aa</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;*/</span></div></li>
<li class="li2"><div class="de2"><span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>form method<span class="sy0">=</span><span class="st0">&quot;get&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchform&quot;</span> action<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo esc_url( home_url( '/' ) ); ?&gt;&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;searchform&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchform&quot;</span> placeholder<span class="sy0">=</span><span class="st0">&quot;Seek and Find&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;submit&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;searchsubmit&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchsubmit&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&gt;&quot;</span> <span class="sy0">&gt;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>form<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php
/**
 * The template for displaying search forms 
 *
 * @package WordPress
 * @subpackage aa
 */
?&gt;
	&lt;form method="get" id="searchform" action="&lt;?php echo esc_url( home_url( '/' ) ); ?&gt;"&gt;
		&lt;input type="text" name="searchform" id="searchform" placeholder="Seek and Find"&gt;
		&lt;input type="submit" name="searchsubmit" id="searchsubmit" value="&gt;" &gt; 
	&lt;/form&gt;</pre></div></div>

<p>I had inadvertently given both the form element and the first input element the same id value. Id&#8217;s need to be unique or bad things can occur — like messing up a search form. In this case, not only was the CSS off, but the script meant to process search queries was not receiving the field data it was expecting.</p>
<p>I modified the input element’s id, and the search form worked again.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>form method<span class="sy0">=</span><span class="st0">&quot;get&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchform&quot;</span> action<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo esc_url( home_url( '/' ) ); ?&gt;&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;s&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;s&quot;</span> placeholder<span class="sy0">=</span><span class="st0">&quot;Seek and Find&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;submit&quot;</span> <span class="kw3">name</span><span class="sy0">=</span><span class="st0">&quot;searchsubmit&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;searchsubmit&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&gt;&quot;</span> <span class="sy0">&gt;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;/</span>form<span class="sy0">&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">	&lt;form method="get" id="searchform" action="&lt;?php echo esc_url( home_url( '/' ) ); ?&gt;"&gt;
		&lt;input type="text" name="s" id="s" placeholder="Seek and Find"&gt;
		&lt;input type="submit" name="searchsubmit" id="searchsubmit" value="&gt;" &gt; 
	&lt;/form&gt;</pre></div></div>

<p>The search form now looked completely different since I had pulled the proverbial rug out from under my CSS declarations.</p>
<div id="attachment_925012" class="wp-caption alignnone" style="width: 610px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/53-3-messed-up.png" alt="Fixing the input field messed up the CSS." title="53-3-messed-up" width="600" height="309" class="size-full wp-image-925012" /><p class="wp-caption-text">Fixing the input field messed up the CSS.</p></div>
<p>If you&#8217;ve been reading through this WordPress article series, recall that the Alien Authority website changes colors schemes based on the time of day or day of the year. This is swell normally, but it meant that I needed to update multiple files to fix my CSS issues.</p>
<p>The first change was made to style.css. At about line 92 of that file, I changed the id value for the input. Here is that code before the change.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">&nbsp; input#searchform <span class="br0">&#123;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; width<span class="sy0">:</span> 160px<span class="sy0">;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; height<span class="sy0">:</span> 60px<span class="sy0">;</span> </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; margin<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; padding<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; font<span class="sy0">-</span>size<span class="sy0">:</span> 14px<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; text<span class="sy0">-</span>transform<span class="sy0">:</span> uppercase<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; letter<span class="sy0">-</span>spacing<span class="sy0">:</span> 3px<span class="sy0">;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">-</span>moz<span class="sy0">-</span>border<span class="sy0">-</span>radius<span class="sy0">:</span> 5px<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">-</span>webkit<span class="sy0">-</span>border<span class="sy0">-</span>radius<span class="sy0">:</span> 5px<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; border<span class="sy0">-</span>radius<span class="sy0">:</span> 5px<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; overflow<span class="sy0">:</span> hidden<span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">	input#searchform { 
		width: 160px; 
		height: 60px; 
		margin: 0;
		padding: 0;
		font-size: 14px;
		text-transform: uppercase;
		letter-spacing: 3px; 
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
		border-radius: 5px;
		overflow: hidden;
		
	}</pre></div></div>

<p>Here is the beginning of the same style declaration with the new id value.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">input#s <span class="br0">&#123;</span> </div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">input#s { </pre></div></div>

<p>I made similar changes at lines 106, 275, 411, 560, 668, 690, 706, and 723. These updates generally got the search form back into shape, but I still needed to update the style sheets responsible for adding colors to the input.</p>
<p>The next CSS file I updated was aa-night-header.css. I updated the input id value at lines 16 and 53. Similar, updates were made to aa-day-header.css at lines 19 and 54. This process continued in aa-red-header.css, aa-gray-red-header.ccs, aa-gray-pink-header.ccs, aa-gray-green-header.ccs, aa-gray-blue-header.ccs, and aa-gray-black-header.ccs.</p>
<p>With these changes the search form was both functional and handsome.</p>
<h3>The Search Page</h3>
<p>Suddenly having a functional search form lead to another discovery in my quest to look back at the Alien Authority site and do a bit of clean up. That discovery was that my search results page did not lay out properly.</p>
<div id="attachment_925013" class="wp-caption alignnone" style="width: 1287px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/53-4-serp.png" alt="The search results page did not lay out properly." title="53-4-serp" width="1277" height="432" class="size-full wp-image-925013" /><p class="wp-caption-text">The search results page did not lay out properly.</p></div>
<p>To fix this oversight, I needed to create a new file named search.php. This file would serve as the template for the search results page. </p>
<p>This page began just like every other WordPress template, with a comment declaring it.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php</div></li>
<li class="li2"><div class="de2"><span class="coMULTI">/**</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* The template for displaying Search Results pages.</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;*</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* @package WordPress</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;* @subpackage aa</span></div></li>
<li class="li1"><div class="de1"><span class="coMULTI">&nbsp;* @since aa</span></div></li>
<li class="li2"><div class="de2"><span class="coMULTI">&nbsp;*/</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">get_header<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;?php
/**
 * The template for displaying Search Results pages.
 *
 * @package WordPress
 * @subpackage aa
 * @since aa
 */

get_header(); ?&gt;</pre></div></div>

<p>The main section of this file is devoted to a simple WordPress loop.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="sy0">&lt;</span>div id<span class="sy0">=</span><span class="st0">&quot;content&quot;</span> role<span class="sy0">=</span><span class="st0">&quot;main&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;</span>h1 <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;page-title&quot;</span><span class="sy0">&gt;</span>Search Results<span class="sy0">:&lt;/</span>h1<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sy0">&lt;?</span>php <span class="kw1">if</span> <span class="br0">&#40;</span> have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="sy0">:</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php <span class="co2">/* Start the Loop */</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php <span class="kw1">while</span> <span class="br0">&#40;</span> have_posts<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> <span class="sy0">:</span> the_post<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>ul id<span class="sy0">=</span><span class="st0">&quot;serp-list&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>li<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>h3<span class="sy0">&gt;&lt;</span>a href<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo get_permalink(); ?&gt;&quot;</span><span class="sy0">&gt;&lt;?</span>php the_title<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;&lt;/</span>a<span class="sy0">&gt;&lt;/</span>h3<span class="sy0">&gt;</span> &nbsp; </div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="sy0">&lt;?</span>php the_excerpt<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span> &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;/</span>li<span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; <span class="sy0">&lt;/</span>ul<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php endwhile<span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;?</span>php <span class="kw1">else</span> <span class="sy0">:</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;</span>article id<span class="sy0">=</span><span class="st0">&quot;post-0&quot;</span> <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;post no-results not-found&quot;</span><span class="sy0">&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; <span class="sy0">&lt;</span>h1 <span class="kw2">class</span><span class="sy0">=</span><span class="st0">&quot;entry-title&quot;</span><span class="sy0">&gt;</span>Nothing Found<span class="sy0">&lt;/</span>h1<span class="sy0">&gt;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; <span class="sy0">&lt;/</span>article<span class="sy0">&gt;&lt;!--</span> #post<span class="sy0">-</span><span class="nu0">0</span> <span class="sy0">--&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sy0">&lt;?</span>php endif<span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">&lt;/</span>div<span class="sy0">&gt;&lt;!--</span> #content <span class="sy0">--&gt;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sy0">&lt;?</span>php get_footer<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="sy0">?&gt;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">&lt;div id="content" role="main"&gt;

	&lt;h1 class="page-title"&gt;Search Results:&lt;/h1&gt;
	&lt;?php if ( have_posts() ) : ?&gt;
		&lt;?php /* Start the Loop */ ?&gt;
		&lt;?php while ( have_posts() ) : the_post(); ?&gt;
		&lt;ul id="serp-list"&gt;
			&lt;li&gt;
				&lt;h3&gt;&lt;a href="&lt;?php echo get_permalink(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/h3&gt;		
				&lt;?php the_excerpt(); ?&gt;					
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;?php endwhile; ?&gt;

		&lt;?php else : ?&gt;

		&lt;article id="post-0" class="post no-results not-found"&gt;
			&lt;h1 class="entry-title"&gt;Nothing Found&lt;/h1&gt;
		&lt;/article&gt;&lt;!-- #post-0 --&gt;

	&lt;?php endif; ?&gt;

&lt;/div&gt;&lt;!-- #content --&gt;

&lt;?php get_footer(); ?&gt;</pre></div></div>

<p>Notice that each individual search result will be a list item.</p>
<p>Next, I had to add style declarations for the search results page in style.css, aa-day.css, and aa-night.css.</p>

<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1"><span class="coMULTI">/* SERP */</span></div></li>
<li class="li2"><div class="de2">ul#serp<span class="sy0">-</span>list <span class="br0">&#123;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; margin<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li2"><div class="de2">&nbsp; padding<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span></div></li>
<li class="li1"><div class="de1">&nbsp; list<span class="sy0">-</span>style<span class="sy0">:</span> none<span class="sy0">;</span></div></li>
<li class="li2"><div class="de2"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">ul#serp<span class="sy0">-</span>list li h3 <span class="br0">&#123;</span> margin<span class="sy0">-</span>bottom<span class="sy0">:</span> 5px<span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">ul#serp<span class="sy0">-</span>list li p <span class="br0">&#123;</span> margin<span class="sy0">-</span>top<span class="sy0">:</span> <span class="nu0">0</span><span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">/* SERP */
ul#serp-list { 
	margin: 0;
	padding: 0;
	list-style: none;
}

ul#serp-list li h3 { margin-bottom: 5px; }
ul#serp-list li p { margin-top: 0; }</pre></div></div>


<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">ul#serp<span class="sy0">-</span>list li h3 a <span class="br0">&#123;</span> color<span class="sy0">:</span> rgb<span class="br0">&#40;</span><span class="nu0">5</span><span class="sy0">,</span><span class="nu0">198</span><span class="sy0">,</span><span class="nu0">0</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">ul#serp-list li h3 a { color: rgb(5,198,0); }</pre></div></div>


<div class="bwp-syntax-block clearfix">
<div class="bwp-syntax-toolbar"><div class="bwp-syntax-control"><a href="javascript:;" class="bwp-syntax-source-switch" title="View Source Code"></a></div></div>
<div class="bwp-syntax-wrapper clearfix bwp-syntax-advanced"style="width: 650px;"><div class="javascript"><ol><li class="li1"><div class="de1">ul#serp<span class="sy0">-</span>list li h3 a <span class="br0">&#123;</span> color<span class="sy0">:</span> rgb<span class="br0">&#40;</span><span class="nu0">32</span><span class="sy0">,</span><span class="nu0">135</span><span class="sy0">,</span><span class="nu0">26</span><span class="br0">&#41;</span><span class="sy0">;</span> <span class="br0">&#125;</span></div></li>
</ol></div></div>
<div class="bwp-syntax-source"><pre class="no-parse">ul#serp-list li h3 a { color: rgb(32,135,26); }</pre></div></div>

<p>Now, the Alien Authority has a respectable search results page.</p>
<div id="attachment_925014" class="wp-caption alignnone" style="width: 988px"><img src="http://pec-ecommercedeveloper.wpengine.netdna-cdn.com/files/2012/09/53-5-serp-fixed.png" alt="The search results page is now complete and showing results." title="53-5-serp-fixed" width="978" height="601" class="size-full wp-image-925014" /><p class="wp-caption-text">The search results page is now complete and showing results.</p></div>
<h3>Summing Up</h3>
<p>At various points in any development project, it is a good idea to look back and ensure that everything is working as you expect. In my case, I found a faulty search form and search results page. I am going to continue with a bit more clean up in the next installment, before adding the ecommerce plumbing, if you will, to the Alien Authority website.</p>
<h3>Related Articles</h3>
<ul>
<li><a href="http://ecommercedeveloper.com/articles/3307-book-review-the-wordpress-anthology/">Book Review: The WordPress Anthology</a></li>
<li><a href="http://ecommercedeveloper.com/articles/3172-29-new-wordpress-tutorials/">29 New WordPress Tutorials</a></li>
<li><a href="http://ecommercedeveloper.com/articles/2791-wordpress-theme-development-part-1-installation-and-graphic-design/">WordPress Theme Development Part 1: Installation and Graphic Design</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ecommercedeveloper.com/articles/using-wordpress-for-ecommerce-part-53-search-the-past/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
