Sub templates

From Online Manual

Revision as of 06:58, 21 July 2014 by Yoshi2889 (talk | contribs) (Yoshi2889 moved page Okay, I'll bite... What's a sub template to Sub templates: Better title)
Jump to: navigation, search

A sub-template is what the HTML is in. For example, admins can change the admin_login sub-template to make the administrative password prompt look different. They could change the error sub-template to change what is displayed upon an error.

It's important to note that sub-templates are grouped within templates. The error sub-template "template_fatal_error()" can be found in the Errors.template.php, just as shown below.

// Show an error message...
function template_fatal_error()
{
   global $context, $settings, $options, $txt;

   echo '
<table border="0" width="80%" cellspacing="0" align="center"
cellpadding="4" class="tborder">
   <tr class="titlebg">
      <td>', $context['error_title'], '</td>
   </tr>
   <tr class="windowbg">
      <td style="padding-top: 3ex; padding-bottom: 3ex;">
         ', $context['error_message'], '
      </td>
   </tr>
</table>';

   // Show a back button (using javascript.)
   echo '
<div align="center" style="margin-top: 2ex;">
<a href="javascript:history.go(-1)">', $txt[250], '</a>
</div>';
}

Breaking it down:

Code:

// Show an error message...

This is used for comments to guide and tell the admin what the following block of code is.

Code:

function template_fatal_error()
{

}

In JavaScript, this is the sub-template that will be executed upon encountering an error.

Code:

global $context, $settings, $options, $txt;

This is a PHP declaration of some variables.

Code:

echo '
<table border="0" width="80%" cellspacing="0" align="center"
cellpadding="4" class="tborder">
   <tr class="titlebg">
      <td>', $context['error_title'], '</td>
   </tr>
   <tr class="windowbg">
      <td style="padding-top: 3ex; padding-bottom: 3ex;">
         ', $context['error_message'], '
      </td>
   </tr>
</table>';

This is the actual HTML that will be sent to the browser. Note the use of the previously declared variable, $context.

Code:

// Show a back button (using JavaScript.)

This is another comment.

Code:

echo '
<div align="center" style="margin-top: 2ex;">
<a href="javascript:history.go(-1)">', $txt[250], '</a>
</div>';

This is some more HTML code that will be sent to the browser.