Customizing your template shop

Our Template Monster Web API was built to be easily customized. We build the software around the smarty template engine. You will find that nearly every aspect of this software is customizable so your shop can look completely different from the competition.

Working with Smarty

There is so much great documentation on the smary site we aren't going to duplicate that information here.

How the files are laid out

In your base directory you should seed some php files. If you were to open them you wouldn't find any real information that is editable. You will want to open a folder called templates inside there you see the same file with an extension of .tpl. These are the files that you want to edit.

Clearing the cache

The smarty engine has a built in caching system. If you ever make a change and aren't seeing it right away try clearing the cache folder. By default it is located in the template_c folder.

Type Listing

Types are considered as the major categories such as Website Templates, Flash Templates, ZenCart Templates etc. You can get a list of these template types by calling the $types variable in your .tpl file. For example if you wanted to put these into an unordered list you could do the following

Code:
<ul>
{foreach from=$types key=k item=v}
{foreach from=$v key=k2 item=v2}
{if $k2 == 0}
<li><a href="/{$v2|replace:' ':'-'}/">{$v2|replace:'And':'&'}</a>
<ul>
{else}
<li><a href="/{$v2|replace:' ':'-'}/">{$v2}</a></li>
{/if}
{/foreach}
</ul></li>
{/foreach}
</ul>
That snippet of code will make all the links SEF and appear in an unordered list

How to exclude template types

There may be a point that you want to exclude some of the template types from appearing in the menu. Simply add a variable called $types_to_exclude in either the php file being used or if you want to exclude it for every page add it to your zenConfig.php file. Once you have it added include the Ids of the types you'd like to exclude. Example: $types_to_exclude = '1,3,6';

Category Listing

Categories are items such as 3 Color, Agriculture, Architecture, etc. You can get a list of these template categories by calling the $categories variable in your .tpl file. For example if you wanted to put these into an unordered list you could do the following

Code:
<ul>{section name=cat loop=$categories}
<li><a href="{$categories[cat].href}">{$categories[cat].name}</a></li>
{/section}</ul>

How to exclude template categories

There may be a point that you want to exclude some of the template categories from appearing in the menu. Simply add a variable called $categories_to_exclude in either the php file being used or if you want to exclude it for every page add it to your zenConfig.php file. Once you have it added include the Ids of the types you'd like to exclude.

Example:
$categories_to_exclude = '1,3,6';

Template preview page

The template preview page allows you to display a large portion of templates. You can set how many templates you would like to be displayed by opening the .php file for that page and editing the variable called $num_templates and changing it to value that you would like to use.

Mouse over preview

The mouse over preview will only trigger if the preview max height or width isn't larger than the browser window. You can also adjust the sensitivity by editing the following file.

File:
public_html/js/jquery.hoverIntent.js

Find

Code:
var cfg = { sensitivity: 1, interval: 100, timeout: 10 };

change the interval to a number greater than 0

Template detail page

The template detail page is where the customer can view all the pages and screenshots of the template. By default it is your base URL followed by the template number (ex. http://templates.zenlin.com/12345)

Working with Screenshots

The screenshot variables are broken down into several different variables. Below is the default method for displaying the template screenshots.

Code:

{if $realscsrc != ''}
<div id="realScreenShot"><h4>{$realsctitle}</h4><img src="{$realscsrc}" /></div>
{/if}

{if $htmlsrc != ''}
<h4>{$htmltitle}</h4><iframe src="{$htmlsrc}" width="{$htmlwidth}" height="{$htmlheight}" scrolling="no" frameborder="0"></iframe>
{/if}

{if $introsrc != ''}
<h4>{$introtitle}</h4><a href="{$introhref}" target="_blank"><img src="{$introsrc}" height="{$introheight}" width="{$introwidth}"/></a>
{/if}

{if $adobesrc != ''}
<h4>{$adobetitle}</h4><img src="{$adobesrc}" />
{/if}

{if $cmssrc != ''}
<h4>{$cmstitle}</h4><img src="{$cmssrc}" />
{/if}

{if $htmlscsrc != ''}
<h4>{$htmlsctitle}</h4><img src="{$htmlscsrc}" />
{/if}

{if $logosrc != ''}
<h4>{$logotitle}</h4><img src="{$logosrc}" />
{/if}

Variable

Data Type

Describition

Scope

  templates Array The complete array of information
  templates.typename Text Display the name of the template type
  templates.typeid Integer Gives the ID of the template type
  templates.typeSF Text The SEF Link to the template type
  templates.thumb SRC The URL to the thumb screenshot
  templates.id Integer The ID of the template
  templates.price Integer The price of the template in USD
  templates.downloads Integer The number of times this template has been downloaded
  templates.preview SRC The URL to the preview screenshot
  templates.preview_width Integer The width of the preview screenshot
  templates.preview_height Integer The height of the preview screenshot
 
  types 2 -Dimensional Array A two dimensional array of the template types. The first dimension refers to the type parent ID (ex. Web Templates, E-Commerce Templates, etc)
  Types.x.0 Text Gives the name of the parent type (ex. Web Templates, E-Commerce Templates, etc). The x represents an integer which is equal to the parent ID
  Types.x.x Text Gives the name of the child. The second X represents an integer which is equal to the child ID
 
  categories 2- Dimensional Array An array contain information regarding categories. The first dimension is an auto incrementing number
  categories.x.href Text SEF link to this category
  categories.x.name Text Name of this category
 
  totaltemplates Integer Displays the total number of templates
  page Integer Displays the current page
  totalpages Integer Displays the total number of pages
  pagination Text A navigational tool that allows users to browser different pages
 
 
 
 
 
 

Need Additional Support?

Open a ticket
Discussion Forums