Sub templates: Difference between revisions From Online Manual

Jump to: navigation, search
(needs work: blank page)
Line 1: Line 1:
[[Category:SMF Themes]]
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.
{{Needs work|blank page}}
 
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 19:23, 11 April 2011

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.

Code:

=// 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.



Advertisement: