Advanced Development Solutions Home
Advanced Development Solutions Home
Advanced Development Solutions Home

Description / Features
Read Me First
Installation / Upgrade
NEW FEAFURES!
Global Configuration
Category Configuration
Template Layouts
FAQ

     

Category Master Module Help for MIVA Merchant v5

Module Template Layouts Explained

There are two templates that are used by this module, Category CTGY Page Template and Category Product List Layout Template. This page contains copies of both templates and comments that will assist you with making adjustments, to the actual templates, beyond the control this module provides using the menu-driven controls. HTML and template scripting knowledge is required to make template modifications. If you do not have these skills it is recommended you contact ADS representative to get assistance with template design and customization.

Category CTGY Page Template:
(ADS Category Master items and variables are shown and explained below in red.)

<html>
<head>
<title>&mvt:store:name;: &mvt:category:name;</title>
<base href="&mvt:global:baseurl;">
<mvt:item name="head" />
</head>

<mvt:item name="body">
<mvt:item name="hdft" param="global_header" />

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr><td align="left" valign="bottom" colspan=2 >
<mvt:item name="navbar" />
</td></tr>

<tr><td align="left" valign="bottom">
<mvt:item name="hdft" param="header" />
</td></tr>

<tr><td align="left" valign="top" bgcolor="&mvt:colors:ctgy_bg;">
<table border="0" cellpadding="10" cellspacing="0">
<tr><td align="left" valign="top" nowrap>
<mvt:item name="fonts" param="ctgy_font">
<mvt:item name="customerlink" />
<mvt:item name="affiliatelink" />
<mvt:item name="category_tree" />
</mvt:item>
</td></tr>
</table>
</td><td align="left" valign="top" width="80%">
<br>
<blockquote>
<mvt:item name="prod_ctgy_hdft" param="ctgy_header" />
<mvt:item name="ads_catmaster" param="sltop" /><!-- Subcategory List Top --><BR>
<mvt:item name="ads_catmaster" param="cbtop" /><!-- Category Breadcrumbs Top -->
<mvt:item name="ads_catmaster" param="pctop" /><!-- Category Paging Top -->
<mvt:if expr="g.ads_gcb_dmt">
<!-- Category Title Display -->
<mvt:if expr="NOT ISNULL l.settings:category_title:image">
<img src="&mvte:category_title:image;" alt="&mvte:category:name;" border="0">
<mvt:else>
<mvt:item name="fonts" param="hdr_font">
<b>&mvte:category:name;</b>
</mvt:item>
</mvt:if>
</mvt:if>

<mvt:item name="product_list" />
<mvt:item name="ads_catmaster" param="pcbottom" /><!-- Category Paging Bottom -->
<mvt:item name="ads_catmaster" param="cbbottom" /><!-- Category Breadcrumbs Bottom -->
<mvt:item name="ads_catmaster" param="slbottom" /><!-- Subcategory List Bottom -->

<mvt:item name="prod_ctgy_hdft" param="ctgy_footer" />
</blockquote>
</td></tr>

<tr><td align="left" valign="bottom">
<mvt:item name="hdft" param="footer" />
</td></tr>
</table>

<mvt:item name="hdft" param="global_footer" />
</mvt:item>
</html>


"ADS Category Master Original" CTGY Page Template Copy:
(If you accidentaly delete the installed CTGY page template, copy and paste the code below into your CTGY page template)



Category Product List Layout Template:
(ADS Category Master items and variables are shown and explained below in red.)

<mvt:if expr="g.ads_gcpll_format EQ 'L'"><!-- IF Layout format is Line Item-->
<table border=0 cellpadding=2 cellspacing=0>
<tr>
<mvt:if expr="g.ads_gcpll_field_code"><!-- IF Product Fields Product Code Display -->
<td align="left" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
<mvt:item name="fonts" param="lhdr_font">
<b>Code</b>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_name"><!-- IF Product Fields Product Name Display -->
<td align="left" valign="middle" bgcolor="&mvt:colors:lhdr_bg;" width="100%">
<mvt:item name="fonts" param="lhdr_font">
<b>Name</b>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_image NE 'N'">
<!-- IF Product Fields Product Image Display -->
<td align="left" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
<mvt:item name="fonts" param="lhdr_font">
<b>Image</b>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_weight"><!-- IF Product Fields Product Weight Display -->

<td align="right" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
<mvt:item name="fonts" param="lhdr_font">
<b>Weight</b>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_price"><!-- IF Product Fields Product Price Display -->

<td align="right" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
<mvt:item name="fonts" param="lhdr_font">
<b>Price</b>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_invmsg NE 'N'">
<!-- IF Product Fields Product Inventory Display -->
<mvt:if expr="l.settings:inventory:active">
<td align="right" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
<mvt:item name="fonts" param="lhdr_font">
<b>Availability</b>
</mvt:item>
</td>
</mvt:if>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_desc">
<!-- IF Product Fields Product Description Display -->
<td align="right" valign="middle" bgcolor="&mvt:colors:lhdr_bg;" width="100%">
<mvt:item name="fonts" param="lhdr_font">
<b>Description</b>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_button_add"><!-- IF Product Fields Product Add Button Display -->
<td align="right" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
&nbsp;
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_button_buy">
<!-- IF Product Fields Product Buy Button Display -->
<td align="right" valign="middle" bgcolor="&mvt:colors:lhdr_bg;">
&nbsp;
</td>
</tr>
</mvt:if>
<mvt:foreach iterator="product" array="products">
<tr>
<mvt:if expr="g.ads_gcpll_field_code"><!-- IF Product Fields Product Code Display -->
<td align="left" valign="middle" bgcolor="&mvt:product:bgcolor;" nowrap>
<mvt:item name="fonts" param="body_font">
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:global:Store_Code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:global:Category_Code;">&mvt:product:code;</a>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_name">
<!-- IF Product Fields Product Name Display -->
<td align="left" valign="middle" bgcolor="&mvt:product:bgcolor;">
<mvt:item name="fonts" param="body_font">
&mvt:product:name;
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_image NE 'N'"><!-- IF Product Fields Product Image Display -->

<td align="left" valign="middle" bgcolor="&mvt:product:bgcolor;">
<mvt:item name="fonts" param="body_font">
<mvt:if expr="NOT ISNULL l.settings:product:thumbnail AND g.ads_gcpll_field_image EQ 'T'"><!-- IF Product Fields Product Thumbnail Image Display -->
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:global:Store_Code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:global:Category_Code;"><img src="&mvte:product:thumbnail;" border=0></a>
<mvt:else>
&nbsp;
</mvt:if>
<mvt:if expr="NOT ISNULL l.settings:product:image AND g.ads_gcpll_field_image EQ 'F'"><!-- IF Product Fields Product Full-Size Image Display -->
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:global:Store_Code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:global:Category_Code;"><img src="&mvte:product:image;" border=0></a>
<mvt:else>
&nbsp;
</mvt:if>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_weight"><!-- IF Product Fields Product Weight Display -->
<td align="right" valign="middle" bgcolor="&mvt:product:bgcolor;" nowrap>
<mvt:item name="fonts" param="body_font">
&mvt:product:weight;
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_price"><!-- IF Product Fields Product Price Display -->
<td align="right" valign="middle" bgcolor="&mvt:product:bgcolor;" nowrap>
<mvt:item name="fonts" param="body_font">
&mvt:product:formatted_price;
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="l.settings:inventory:active AND g.ads_gcpll_invmsg NE 'N'"><!-- IF Product Fields Product Inventory Display -->
<td align="right" valign="middle" bgcolor="&mvt:product:bgcolor;">
<mvt:item name="fonts" param="body_font">
<mvt:if expr="g.ads_gcpll_invmsg EQ 'S'"><!-- IF Product Fields Product Inventory Message Short Display -->
&mvt:product:inv_short;
</mvt:if>
<mvt:if expr="g.ads_gcpll_invmsg EQ 'L'"><!-- IF Product Fields Product Inventory Message Long Display -->

&mvt:product:inv_long;
</mvt:if>
&nbsp;</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_desc"><!-- IF Product Fields Product Description Display -->

<td align="right" valign="middle" bgcolor="&mvt:product:bgcolor;" width="100%">
<mvt:item name="fonts" param="body_font">
&mvt:product:descrip;
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="l.settings:product:inv_level NE 'out'">
<mvt:if expr="g.ads_gcpll_button_add">
<!-- IF Product Fields Product Add Button Display -->
<form method="post" action="&mvt:global:sessionurl;">
<input type="hidden" name="Action" value="ADPR">
<input type="hidden" name="Screen" value="&mvte:global:Screen;">
<input type="hidden" name="Quantity" value=1>
<input type="hidden" name="Attributes" value="Yes">
<input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;">
<input type="hidden" name="Offset" value="&mvte:global:Offset;">
<input type="hidden" name="Product_Code" value="&mvt:product:code;">
<input type="hidden" name="Current_Product_Code" value="&mvte:global:Product_Code;">
<input type="hidden" name="Category_Code" value="&mvte:global:Category_Code;">
<td align="left" valign="middle" bgcolor="&mvt:product:bgcolor;">
<mvt:item name="fonts" param="body_font">
<mvt:item name="buttons" param="Add1ToBasketL" />
</mvt:item>
</td>
</form>
</mvt:if>
<mvt:if expr="g.ads_gcpll_button_buy"><!-- IF Product Fields Product Buy Button Display -->
<form method="post" action="&mvt:global:secure_sessionurl;">
<input type="hidden" name="Action" value="ADPR">
<input type="hidden" name="Product_Code" value="&mvte:product:code;">
<input type="hidden" name="Quantity" value=1>
<input type="hidden" name="Screen" value="OINF">
<input type="hidden" name="Order" value=1>
<input type="hidden" name="Attributes" value="Yes">
<input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;">
<td align="left" valign="middle" bgcolor="&mvt:product:bgcolor;">
<mvt:item name="fonts" param="body_font">
<mvt:item name="buttons" param="Buy1NowL" />
</mvt:item>
</td>
</form>
</mvt:if>
</mvt:if>
</tr>
</mvt:foreach>
</table>
<mvt:else><!-- IF Product Layout format is Expanded -->
<BR><table border=1 cellpadding=2 cellspacing=0 bgcolor="#FFFFFF" bordercolor="#F9F9F9">
<tr>
<mvt:foreach iterator="product" array="products">
<td valign="top">
<table border=0 cellpadding=2 cellspacing=0 width="100%">
<mvt:if expr="g.ads_gcpll_thumbpos EQ 3 AND g.ads_gcpll_image NE 'N'"><!-- IF Product Fields Product Image Position Top -->
<mvt:if expr="NOT ISNULL l.settings:product:thumbnail AND g.ads_gcpll_image EQ 'T'"><!-- IF Product Layout Image Thumbnail -->
<tr><td align="left" colspan=3>
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:thumbnail;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td></tr>
</mvt:if>
<mvt:if expr="NOT ISNULL l.settings:product:image AND g.ads_gcpll_image EQ 'F'"><!-- IF Product Layout Image Full-Size -->

<tr><td align="left" colspan=3>
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:image;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td></tr>
</mvt:if>
</mvt:if>

<tr>
<mvt:if expr="g.ads_gcpll_thumbpos EQ 1 AND g.ads_gcpll_image NE 'N'"><!-- IF Product Fields Product Image Position Left -->
<mvt:if expr="NOT ISNULL l.settings:product:thumbnail AND g.ads_gcpll_image EQ 'T'"><!-- IF Product Layout Image Thumbnail -->
<td align="left" valign="top">
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:thumbnail;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td>
</mvt:if>
<mvt:if expr="NOT ISNULL l.settings:product:image AND g.ads_gcpll_image EQ 'F'"><!-- IF Product Layout Image Full-Size -->

<td align="left" valign="top">
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:image;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td>
</mvt:if>
</mvt:if>

<td align="left" valign="top" width="100%" colspan=3>
<mvt:item name="fonts" param="body_font">
<mvt:if expr="g.ads_gcpll_field_name"><!-- IF Product Fields Product Name Display -->
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;">&mvt:product:name;</a><br>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_code">
<!-- IF Product Fields Product Code Display -->
Code: <b>&mvt:product:code;</b><br>
</mvt:if>
<mvt:if expr="l.settings:product:weight NE 0 AND g.ads_gcpll_field_weight"><!-- IF Product Fields Product Weight Display -->
Weight: <b>&mvt:product:weight;</b></br>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_price"><!-- IF Product Fields Product Price Display -->

Price: <b>&mvt:product:formatted_price;</b><br>
</mvt:if>
<mvt:if expr="l.settings:product:inv_active AND g.ads_gcpll_invmsg NE 'N'"><!-- IF Product Fields Product Inventory Display -->

<mvt:if expr="g.ads_gcpll_invmsg EQ 'S'"><!-- IF Product Fields Product Inventory Message Short -->
&mvt:product:inv_short;<br>
</mvt:if>
<mvt:if expr="g.ads_gcpll_invmsg EQ 'L'">
<!-- IF Product Fields Product Inventory Message Long -->
&mvt:product:inv_long;<br>
</mvt:if>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_qtyinbskt"><!-- IF Product Fields Product Quantity in Basket Display -->

Quantity in Basket:
<mvt:if expr="l.settings:product:quantity EQ 0">
<i>none</i>
<mvt:else>
<b>&mvt:product:quantity;</b>
</mvt:if>
<br>
</mvt:if>
</mvt:item>
</td>
<mvt:if expr="g.ads_gcpll_thumbpos EQ 2 AND g.ads_gcpll_image NE 'N'"><!-- IF Product Fields Product Image Position Right -->
<mvt:if expr="NOT ISNULL l.settings:product:thumbnail AND g.ads_gcpll_image EQ 'T'"><!-- IF Product Layout Image Thumb -->

<td align="left" valign="top" width=0>
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:thumbnail;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td>
</mvt:if>
<mvt:if expr="NOT ISNULL l.settings:product:image AND g.ads_gcpll_image EQ 'F'">
<!-- IF Product Layout Image Full-Size -->
<td align="left" valign="top" width=0>
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:image;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td>
</mvt:if>
</mvt:if>

</tr>
<mvt:if expr="g.ads_gcpll_thumbpos EQ 4 AND g.ads_gcpll_image NE 'N'"><!-- IF Product Fields Product Image Position Bottom -->
<mvt:if expr="NOT ISNULL l.settings:product:thumbnail AND g.ads_gcpll_image EQ 'T'"><!-- IF Product Layout Image Thumb -->

<tr><td align="left" colspan=3>
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:thumbnail;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td></tr>
</mvt:if>
<mvt:if expr="NOT ISNULL l.settings:product:image AND g.ads_gcpll_image EQ 'F'"><!-- IF Product Layout Image Full-Size -->

<tr><td align="left" colspan=3>
<a href="&mvt:global:sessionurl;Screen=PROD&Store_Code=&mvta:store:code;&Product_Code=&mvta:product:code;&Category_Code=&mvta:category:code;"><img src="&mvte:product:image;" border="&mvt:global:ads_gcpll_thumbbord;" hspace="&mvt:global:ads_gcpll_thumbbord;" vspace="&mvt:global:ads_gcpll_thumbbord;"></a>
</td></tr>
</mvt:if>
</mvt:if>
<mvt:if expr="g.ads_gcpll_field_desc"><!-- IF Product Fields Product Description Display -->

<tr><td colspan=3>
<mvt:item name="fonts" param="body_font">
&mvt:product:descrip;
</mvt:item>
</td></tr>
</mvt:if>
<mvt:if expr="l.settings:product:inv_level NE 'out'">
<tr><td></td>
<mvt:if expr="g.ads_gcpll_button_add"><!-- IF Product Fields Product Add Button Display -->
<form method="post" action="&mvt:global:sessionurl;">
<td align="left" valign="top">
<mvt:item name="fonts" param="body_font">
<input type="hidden" name="Action" value="ADPR">
<input type="hidden" name="Screen" value="&mvte:global:Screen;">
<input type="hidden" name="Quantity" value=1>
<input type="hidden" name="Attributes" value="Yes">
<input type="hidden" name="Store_Code" value="&mvte:store:code;">
<input type="hidden" name="Offset" value="&mvte:global:Offset;">
<input type="hidden" name="Product_Code" value="&mvte:product:code;">
<input type="hidden" name="Current_Product_Code" value="&mvte:global:Product_Code;">
<input type="hidden" name="Category_Code" value="&mvte:global:Category_Code;">
<mvt:item name="buttons" param="Add1ToBasket" />
</mvt:item>
</td>
</form>
</mvt:if>
<mvt:if expr="g.ads_gcpll_button_buy"><!-- IF Product Fields Product Buy Button Display -->

<form method="post" action="&mvt:global:secure_sessionurl;">
<td align="left" valign="top">
<mvt:item name="fonts" param="body_font">
<input type="hidden" name="Action" value="ADPR">
<input type="hidden" name="Product_Code" value="&mvte:product:code;">
<input type="hidden" name="Quantity" value=1>
<input type="hidden" name="Screen" value="OINF">
<input type="hidden" name="Attributes" value="Yes">
<input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;">
<mvt:item name="buttons" param="Buy1Now" />
</mvt:item>
</td>
</form>
</mvt:if>
</tr>
</mvt:if>
</table>
</td>
<mvt:if expr = "(pos1 MOD g.ads_gcpll_numbofcols ) EQ 0"><!-- IF Product Number of Columns Display -->
</tr><tr><td colspan=&mvt:global:ads_gcpll_numbofcols;><HR width="100%" color=#cccccc SIZE=1></td></tr>
<tr>
</mvt:if>
</mvt:foreach>
</tr>
</table>
</mvt:if>
<mvt:if expr="g.Offset OR g.NextOffset">
<br>
<table border="0" width="90%" align="center">
<tr>
<mvt:if expr="g.Offset EQ 0">
<td>&nbsp;</td>
<mvt:else>
<td align="left">
<mvt:item name="fonts" param="body_font">
<form method="post" action="&mvt:global:sessionurl;">
<input type="hidden" name="Screen" value="&mvte:global:Screen;">
<input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;">
<input type="hidden" name="Category_Code" value="&mvte:global:Category_Code;">
<input type="hidden" name="Product_Code" value="&mvte:global:Product_Code;">
<input type="hidden" name="Search" value="&mvte:global:Search;">
<input type="hidden" name="Offset" value="&mvte:global:PrevOffset;">
<mvt:item name="buttons" param="Previous" />
</form>
</mvt:item>
</td>
</mvt:if>
<mvt:if expr="g.NextOffset EQ 0">
<td>&nbsp;</td>
<mvt:else>
<td align="right">
<mvt:item name="fonts" param="body_font">
<form method="post" action="&mvt:global:sessionurl;">
<input type="hidden" name="Screen" value="&mvte:global:Screen;">
<input type="hidden" name="Store_Code" value="&mvte:global:Store_Code;">
<input type="hidden" name="Category_Code" value="&mvte:global:Category_Code;">
<input type="hidden" name="Product_Code" value="&mvte:global:Product_Code;">
<input type="hidden" name="Search" value="&mvte:global:Search;">
<input type="hidden" name="Offset" value="&mvte:global:NextOffset;">
<mvt:item name="buttons" param="Next" />
</form>
</mvt:item>
</td>
</mvt:if>
</tr>
</table>
</mvt:if>


"ADS Category Master Original" Category Product List Layout Template Copy:
(If you accidentaly delete the installed Category Product List Layout Template, copy and paste the code below into your Category Product List Layout Template)


 

"architects of the web since 1998"
Learn more about our services

Build Your Business Online!

SERVICES | CONTACT US | HOME