<?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>Random Web Development Related Blogging &#187; Web Development</title>
	<atom:link href="http://cfreek.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://cfreek.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Tue, 26 Apr 2011 19:18:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Joomla! &amp; Virtuemart : Full Site Build</title>
		<link>http://cfreek.com/2011/01/joomla-virtuemart-full-site-build/</link>
		<comments>http://cfreek.com/2011/01/joomla-virtuemart-full-site-build/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 16:41:27 +0000</pubDate>
		<dc:creator>Alan Cook</dc:creator>
				<category><![CDATA[Joomla!]]></category>

		<guid isPermaLink="false">http://cfreek.com/blog/?p=100</guid>
		<description><![CDATA[I am currently in the process of creating a Joomla! powered web site, running Virtuemart for e-commerce. Throughout the process, I will be documenting what I add, build, change, and enhance. This will be ongoing, so you might want to keep checking back. This Post will serve two purposes. First is a reference for me [...]]]></description>
			<content:encoded><![CDATA[<p>I am currently in the process of creating a Joomla! powered web site, running Virtuemart for e-commerce. Throughout the process, I will be documenting what I add, build, change, and enhance. This will be ongoing, so you might want to keep checking back.</p>
<p>This Post will serve two purposes. First is a reference for me on what I did, second is to hopefully help someone else out there along the way in building their site. If you find anything in this post helpful, comment and let me know!<span id="more-100"></span></p>
<p>Unless I decide to break this up, this is going to be one LONG post when finished, so here are some jump links for those who only care about certain aspects. For the rest, read on&#8230;</p>
<ul>
<li><a href="#intro">Intro</a></li>
<li><a href="#planning-the-site">Planning the Site</a></li>
<li><a href="#the-template">The Template</a></li>
<li><a href="#setting-up-virtuemart">Setting Up Virtuemart</a>
<ul>
<li><a href="#default-modules">Default Modules &amp; Components Used &amp; Modified</a></li>
<li><a href="#addon-modules">Add-on Modules &amp; Components</a></li>
</ul>
</li>
</ul>
<p><a name="intro"></a></p>
<h2>Intro</h2>
<p>I&#8217;ve used Joomla! many times, and have been meaning to set up a full e-commerce site, using Joomla! and Virtuemart, to give it a full evaluation on it&#8217;s e-commerce potential (I usually prefer <a href="http://www.icdevgroup.org">Interchange</a>).</p>
<p>An idea struck me to set up a giant &#8220;multi-family yard sale&#8221; website, that all of my friends, family, and I could use to unload various items. So, I decided it was time to stop procrastinating, and get to work. Meanwhile, I might end up with a site structure I can reuse on future sites. On with th fun&#8230;<br />
<a name="planning-the-site"></a></p>
<h2>Planning the Site</h2>
<p>I started planning the site like I would any client site; this includes Photoshop mock-ups, sitemap plans, component/module plans, research, and testing, the whole nine.</p>
<p>During the planning, I knew the most important factors in this site were going to be usability, showcasing products, and making the sell. The layout was designed minimalistic, with plenty of space for promo banners, product rotation, and full, easy to use navigation. And, as I tend to do, I reviewed winning sites that fit the class of site I&#8217;m building; in this case, sites like eBay, Amazon, and New Egg. Once plans were in place, I started building away.<br />
<a name="the-template"></a></p>
<h2>The Template</h2>
<p>I&#8217;m not going in to the details of template creation, as that is outside the scope of this post, but instead, will detail what I did different than normal, that is making my life easier now, and will in the future.</p>
<p>Most base Joomla! templates use component areas named user1, user2, etc, and I tend to keep this when building a template. In the case of Wanda&#8217;s Bargain Basement, I wanted tighter control over the various &#8216;pieces&#8217; of the site, and I didn&#8217;t want to have to remember which generically named placeholder went where.</p>
<p>All of my component areas are named for the component they are going to hold and, when needed, I use conditional statements. For example, the rotating &#8220;Featured Products&#8221;, shown only on the homepage, is defined as:</p>
<p>[code]&lt;?php if( $this-&gt;countModules('ProductRotation') &amp;&amp; JRequest::getVar('view') == &quot;frontpage&quot; ) : ?&gt;<br />
&lt;div id=&quot;product-rotator&quot;&gt;<br />
&lt;b id=&quot;featured-item-title&quot;&gt;Featured Items&lt;/b&gt;&lt;/div&gt;<br />
&lt;div id=&quot;product-rotation&quot;&gt;&lt;jdoc:include type=&quot;modules&quot; name=&quot;ProductRotation&quot; style=&quot;xhtml&quot; /&gt;&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;div id=&quot;product-rotation-pager&quot;&gt;&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;?php endif; ?&gt;<br />
[/code]</p>
<p>One final thing, as with all of my sites, the template is full CSS. The ability to easily make changes later is important, and dynamic (database driven) sites are a pain if everything is built using tables and hard coded in to the HTML.</p>
<p>Other than that, everything is your basic custom Joomla! template.<br />
<a name="setting-up-virtuemart"></a></p>
<h2>Setting Up Virtuemart</h2>
<p>This was by far the most complex part of the whole job. As mentioned, I want a mostly reusable system; on top of that, I want to keep the costs down, to provide an option to future clients who need an e-commerce site that doesn&#8217;t break the bank.</p>
<p>After making a copy of the default templates, named for the Wanda&#8217;s Bargain Basement site, I could begin my customizing.<br />
<a name="default-modules"></a></p>
<h3>Default Modules &amp; Components Used &amp; Modified</h3>
<p><strong>Featured Items</strong><br />
There were certain things i knew from planning, that I wanted the site to do. Unfortunately, my desire to customize and a programmer&#8217;s desire to let me, doesn&#8217;t always agree; as is with most software you&#8217;ll come across.</p>
<p>There were no free Featured Items plug-ins available that would easily let me tie the jQuery Cycle plug-in to them, so this is the one time I broke the &#8220;don&#8217;t hack the core&#8221; rule.</p>
<p>The Featured Items module: ./modules/mod_virtuemart_featureprod/mod_featureprod.php<br />
is hard coded to display the items in a table, even when it&#8217;s completely pointless to do so; I removed those lines by adding my own $notables variable, adding to the if statements, and adding additional if statements to the file.</p>
<p>With that done, I could clean up and modify my custom copy of the template: ./components/com_virtuemart/themes/ThemeName/templates/common/productsnapshot.tpl.php<br />
and create the &#8220;Featured Items&#8221; rotator on the home page.</p>
<p><strong>Mini Cart Display</strong><br />
With the design I was building for Wanda&#8217;s Bargain Basement, I wanted the mini cart to be shown in the top right of the page. By default, the mini cart shows a LOT of information, as it is intended to be added to a side bar with plenty of room.</p>
<p>I simply trimmed down the template file: ./components/com_virtuemart/themes/ThemeName/templates/common/minicart.tpl.php<br />
added lots of CSS rules, and ended up with a clean, simple display.<br />
<a name="addon-modules"></a></p>
<h3>Add-on Modules &amp; Components</h3>
<p><strong><a href="http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-navigation/11023">CSS Menu</a></strong><br />
I find it amazing how complicated it was to simply have a bullet list menu of Virtuemart categories, without any fluff, add-ons, or loading of countless amounts of extra code. But, I found one; and it was free. The <a title="CSS Menu for Virtuemart" href="http://extensions.joomla.org/extensions/extension-specific/virtuemart-extensions/virtuemart-navigation/11023">CSS Menu for Virtuemart</a> did the trick, and allowed me <strong>only</strong> a bullet list, which I could style as I please.</p>
<p><strong><a href="http://extensions.joomla.org/extensions/site-management/sef/10019">Joomla! SEO</a></strong><br />
The <a href="http://extensions.joomla.org/extensions/site-management/sef/10019">ACE SEF Joomla! SEO plugin</a> makes Joomla! &#8220;Search Engine Friendly&#8221;. Me, I wanted to get rid of those horrendous URLs Virtuemart makes. Not for search engines, but for my own sanity and that of my users.<br />
Unfortunately, to have <strong>really</strong> nice URLs in Virtuemart, you have to buy an add-on; for the moment, I&#8217;ll live with the &#8220;1/2 way ok&#8221; URLs the free version creates.</p>
]]></content:encoded>
			<wfw:commentRss>http://cfreek.com/2011/01/joomla-virtuemart-full-site-build/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Link Will Not z-index in Front of Text and Image in Internet Explorer</title>
		<link>http://cfreek.com/2009/11/link-will-not-z-index-in-front-of-text-and-image-in-internet-explorer/</link>
		<comments>http://cfreek.com/2009/11/link-will-not-z-index-in-front-of-text-and-image-in-internet-explorer/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 05:20:12 +0000</pubDate>
		<dc:creator>Alan Cook</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>

		<guid isPermaLink="false">http://cfreek.com/blog/?p=43</guid>
		<description><![CDATA[I ran across a interesting IE issue today, that I hadn&#8217;t dealt with before. I wanted to make icons with graphics, text, and a link. The link should cover the whole icon, but it&#8217;s link would be text inside of the icon. To elaborate, the final result would be: The&#8221;Text Link&#8221; shoud be positioned using absolute positing, [...]]]></description>
			<content:encoded><![CDATA[<p>I ran across a interesting IE issue today, that I hadn&#8217;t dealt with before.<br />
I wanted to make icons with graphics, text, and a link. The link should cover the whole icon, but it&#8217;s link would be text inside of the icon.</p>
<p>To elaborate, the final result would be:</p>
<p><img class="alignnone size-full wp-image-54" title="icon-example" src="http://cfreek.com/blog/wp-content/uploads/2009/11/icon-example.jpg" alt="icon-example" width="274" height="76" /></p>
<p>The&#8221;Text Link&#8221; shoud be positioned using absolute positing, height, width, and padding/margins so that it over-layed the entire icon.</p>
<p><span id="more-43"></span></p>
<p>The HTML would look like this:</p>
<p>[php]<br />
&lt;div class=&quot;services-box&quot;&gt;<br />
&lt;a class=&quot;link-mask&quot; href=&quot;/services/network-maintenance/&quot;&amp;&gt;Managed Services&lt;/a&gt;<br />
&lt;div&gt;&lt;img src=&quot;/images/pc-1.png&quot; alt=&quot;&quot; width=&quot;77&quot; height=&quot;78&quot; /&gt;&lt;/div&gt;<br />
managed services text<br />
&lt;/div&gt;[/php]</p>
<p>Initially, I set up the CSS as follows:</p>
<p>[css].services-box a.link-mask {<br />
position: absolute;<br />
width: 290px;<br />
height: 83px;<br />
text-decoration: none;<br />
font-weight: bold;<br />
color: #fff;<br />
padding: 4px 0 0 112px;<br />
z-index: 2;<br />
}[/css]</p>
<p>This worked great in every browser I tried, except for IE. It seem Internet Explorer will not let a simple link cover another element. As you can see, I attempted setting the z-index value, which did not work. Hovering over the image ([image]) or text( &#8220;Additional text&#8221;) still produced a default/text icon and was not a link.</p>
<p>I also attempted using hasLayout hacks, by adding the zoom css property to the link, and that did not work.</p>
<p>After Googling the heck out of this and not finding a solution, which is why I&#8217;m making a post out of it, I started playing.</p>
<p>The solution?<br />
If a background is applied to the link, Internet Explorer will force the link to be on top of text and on top of images. Since I did not want a background, as it would cover the other elements, I came up with a little hack.</p>
<p>I added the following css to my link&#8217;s CSS</p>
<p>[css]background-image: url(/images/services-boxes.png);<br />
background-repeat: no-repeat;<br />
background-position: 999px;[/css]</p>
<p>What this did, was make IE *think* there was a background, and position it over the text and image, while pushing the non-repeated image far away from the viewable area. I used the background image of the icon itself, which prevented the browser from having to load another image.</p>
<p>The icons now work perfect in every browser, including the pesky IE.</p>
]]></content:encoded>
			<wfw:commentRss>http://cfreek.com/2009/11/link-will-not-z-index-in-front-of-text-and-image-in-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

