Table of Contents

How To Use The Built-in Smarty Tag {debug}

We get questions all the time from those that wish to make changes to system/module/addon templates within the software. One of those questions is "how do we know what tags/variables are available to a template?". The answer is that you can easily find out by inserting the built-in Smarty tag {debug} within that template. You only need to put that tag anywhere within the template to trigger a popup that will display all variables assigned within the smarty workspace up to that point. This tag dumps the debug console from within the Smarty engine to the popup that appears. Note that this only shows the assigned variables that we actually assign with the base php code and available within that template used for that page. It does not display any smarty variables created/assigned within that template using the "smarty assign" tag. It is best to only use this when you have caching turned off within your Geo software or you could see a cached copy of those variables. It is best to put this tag at the end of the template as to also see the variable assigned within that template. Simply inset this:

{debug}

Suggestions:

Tip: Only load debug for You (IP Based)

Here is a handy tip, submitted by an active 3rd party developer in the user forums, that allows the {debug} to only work when the page is viewed by yourself, based on the IP address. First you need to know what your IP address is, if you are not sure you can always find out on a website like whatismyip.com. Then insert the following in your template:

{if $smarty.server.REMOTE_ADDR == 'YOUR_IP_HERE'}
	{debug}
	{* other debugging code goes here *}
{/if} 

You need to replace YOUR_IP_HERE with your IP address. Note that even with this tip, we recommend to only use {debug} on a temporary basis, it is not a good idea to keep the {debug} tag in your templates permanently if you no longer need it.