Languages: Truth About Smarty

AJ Hall

Smarty is an extremely flexible web templating language that’s actually pretty easy to work with. Unfortunately a lot of people give up on it prematurely and never appreciate its strong points.

Flexibility makes it attractive when you’re developing software and need a template engine. As a result, a lot of popular adult site management products including NATS, the Elevated X CMS, Smart Tube Pro and several others use Smarty templates.

It’s a common misconception that to edit the templates you need to know Smarty. The truth is that you might not touch a single line of Smarty code.

It’s a common misconception that to edit the templates you need to know Smarty. The truth is that you might not touch a single line of Smarty code. What you’re really doing is editing HTML and CSS inside a Smarty template.

There are 2 places where most people get stuck.

Smarty Roadblock #1: Looking at the code inside a template and seeing just that — code. It seems overwhelming. This stops a lot of people cold.

Often someone will open a file and stare at it, waiting for something to jump out at them and make it obvious where they need to be looking. It’s like looking into the abyss.

The only things you need to be concerned with are the parts you recognize as CSS or HTML that you can edit.

Code editing tip. If you’re not doing it already, switch to using a HTML editor that highlights code in different colors. As an example, I use CuteFTP Pro and it colors HTML in blue with programming code appearing in black and comment tags in grey. This makes it easy to look past anything that’s not HTML and see only the parts of the page I want to edit. It also makes it easy to add comment tags throughout a design so you can open a file and find sections of the page instantly.

This brings us to template coding rule #1. Always make a backup copy of your template folder before you make any changes. This makes it easy to restore if something gets messed up. Plus, you’ll always have a working copy of the templates to look at for reference if needed.

Smarty roadblock No. 2. Being thrown off by external file references inside a template.

Even seasoned designers are thrown by the way things are referenced inside a template.

The main reason a template language like Smarty is used is that it breaks things up into templates and sub-templates instead of compiling everything into 1 massive file.

If you’re editing a main page, most likely the file contains references to other templates. These are either global elements shared by multiple pages or sub-templates for sections of the page you’re editing.

For the multi-page sites created by affiliate program and CMS software this is critical. It lets the developer do more and add more features. It also lets you edit different parts of a site and/or each page separately. If everything was in 1 big template it would be more difficult to find elements like the search bar, navigation, poll, etc. You’d scroll through hundreds of lines of code just to find your footer.

To remedy this, developers create files like header.tpl and footer.tpl that contain only the code used for those sections.

A Smarty include tag looks like: {include file=”template_name.tpl”}

The beauty of this is that anyone can make a template file and include it on a page. It’s a coder’s dream come true. Instead of pasting 50 lines of code into a HTML page for a top list you just put those 50 lines of code into a txt file and name it toplist.tpl. Then in your page you add a tag for the file you just made e.g. {include file=”toplist.tpl”}.

AJ Hall is a 12-year adult industry veteran and the cofounder and chief executive officer of Elevated X Inc., a provider of popular adult CMS software for the online adult entertainment industry. Hall has spoken at XBIZ trade shows and is a contributing writer for several trade publications.