the cache more often that it needs to be.
```html
-<script data-relocate="true" src="{@$__wcf->getPath('app')}js/App.js?t={@LAST_UPDATE_TIME}"></script>
+<script data-relocate="true" src="{$__wcf->getPath('app')}js/App.js?t={@LAST_UPDATE_TIME}"></script>
```
For small scripts you can simply serve the full, non-minified version to the user
`ENABLE_DEBUG_MODE` constant to decide which version should be loaded.
```html
-<script data-relocate="true" src="{@$__wcf->getPath('app')}js/App{if !ENABLE_DEBUG_MODE}.min{/if}.js?t={@LAST_UPDATE_TIME}"></script>
+<script data-relocate="true" src="{$__wcf->getPath('app')}js/App{if !ENABLE_DEBUG_MODE}.min{/if}.js?t={@LAST_UPDATE_TIME}"></script>
```
### The Accelerated Guest View ("Tiny Builds")
need to include yet another switch to serve the right version to the visitor.
```html
-<script data-relocate="true" src="{@$__wcf->getPath('app')}js/App{if !ENABLE_DEBUG_MODE}{if VISITOR_USE_TINY_BUILD}.tiny{/if}.min{/if}.js?t={@LAST_UPDATE_TIME}"></script>
+<script data-relocate="true" src="{$__wcf->getPath('app')}js/App{if !ENABLE_DEBUG_MODE}{if VISITOR_USE_TINY_BUILD}.tiny{/if}.min{/if}.js?t={@LAST_UPDATE_TIME}"></script>
```
### The `{js}` Template Plugin
<tbody>
{foreach from=$objects item=foo}
- <tr class="jsObjectActionObject" data-object-id="{@$foo->getObjectID()}">
+ <tr class="jsObjectActionObject" data-object-id="{$foo->getObjectID()}">
<td class="columnIcon">
{objectAction action="toggle" isDisabled=$foo->isDisabled}
{objectAction action="delete" objectTitle=$foo->getTitle()}
The code for the table head is similar to the other `th` elements:
```smarty
-<th class="columnDate columnBirthday{if $sortField == 'birthday'} active {@$sortOrder}{/if}"><a href="{link controller='PersonList'}pageNo={@$pageNo}&sortField=birthday&sortOrder={if $sortField == 'birthday' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.person.birthday{/lang}</a></th>
+<th class="columnDate columnBirthday{if $sortField == 'birthday'} active {$sortOrder}{/if}"><a href="{link controller='PersonList'}pageNo={@$pageNo}&sortField=birthday&sortOrder={if $sortField == 'birthday' && $sortOrder == 'ASC'}DESC{else}ASC{/if}{/link}">{lang}wcf.person.birthday{/lang}</a></th>
```
For the table body’s column, we need to make sure that the birthday is only show if it is actually set:
Instead of
```smarty
-<a href="{$entry->getLink()}" class="blogEntryLink" data-object-id="{@$entry->entryID}">{$entry->subject}</a>
+<a href="{$entry->getLink()}" class="blogEntryLink" data-object-id="{$entry->entryID}">{$entry->subject}</a>
```
using
<div class="section tabMenuContainer">
<nav class="tabMenu">
<ul>
- <li><a href="{@$__wcf->getAnchor('tab1')}">Tab 1</a></li>
- <li><a href="{@$__wcf->getAnchor('tab2')}">Tab 2</a></li>
+ <li><a href="{$__wcf->getAnchor('tab1')}">Tab 1</a></li>
+ <li><a href="{$__wcf->getAnchor('tab2')}">Tab 2</a></li>
{event name='tabMenuTabs'}
</ul>
<div id="tab2" class="tabMenuContainer tabMenuContent">
<nav class="menu">
<ul>
- <li><a href="{@$__wcf->getAnchor('tab2A')}">Tab 2A</a></li>
- <li><a href="{@$__wcf->getAnchor('tab2B')}">Tab 2B</a></li>
+ <li><a href="{$__wcf->getAnchor('tab2A')}">Tab 2A</a></li>
+ <li><a href="{$__wcf->getAnchor('tab2B')}">Tab 2B</a></li>
{event name='tabMenuTab2Subtabs'}
</ul>