Sub templates: Difference between revisions From Online Manual

Jump to: navigation, search
(Markup)
Line 1: Line 1:
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.
[[Category:SMF Themes]]
 
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.
 
''Code:
<pre>=// 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>';
}</pre>
 
'''Breaking it down:'''
 
Code:
<pre>// Show an error message...</pre>
 
This is used for comments to guide and tell the admin what the following block of code is.
 
Code:
<pre>function template_fatal_error()
{
…
}</pre>
 
In JavaScript, this is the sub-template that will be executed upon encountering an error.
 
Code:
<pre>global $context, $settings, $options, $txt;</pre>
 
This is a PHP declaration of some variables.
 
Code:
<pre>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>';</pre>
 
This is the actual HTML that will be sent to the browser. Note the use of the previously declared variable, $context.
 
Code:
 
<pre>// Show a back button (using JavaScript.)</pre>
 
This is another comment.
 
Code:
<pre>  echo '
<div align="center" style="margin-top: 2ex;">
<a href="javascript:history.go(-1)">', $txt[250], '</a>
</div>';</pre>
 
This is some more HTML code that will be sent to the browser.
 
[[category:Developing SMF]]
[[Category:Customizing SMF]]

Revision as of 16:30, 11 April 2011



Advertisement: