Theme Upgrade Home style.css» template.html theme.php Validation
Previous | Next

## Edit template.html

1. Change the DOCTYPE; Coppermine 1.4.x is XHTML 1.0 Transitional.

   ###### Find:

       <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

   ###### Replace with:

   (or insert as the first line of template.html if it is missing)

       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2. Coppermine 1.4.1 (or better) officially split the main menu into two menus: SYS_MENU and SUB_MENU.

   ###### If your theme uses a single menu, find:

       {MAIN_MENU}

   ###### Replace with:

   Note: the "<br />" is for classic your theme may require a different separator.

       {SYS_MENU}<br />{SUB_MENU}

   ###### If your theme uses two menus, Find:

       {MAIN_MENU1}

   ###### Replace with:

       {SYS_MENU}

   ###### Then find:

       {MAIN_MENU2}

   ###### Replace with:

       {SUB_MENU}

3. Choose a place where the vanity graphics should be located on your Coppermine pages. Vanity graphics display the "Powered by MySQL and PHP, as well as the XHTML and CSS Validation banners and link to their respective parties.

   It is recommended to do this even if you're not planning to actually use them as they can be enabled or disabled according to whether the theme is defined as XHTML 1.0 Transitional Valid.

   ###### Below are the vanity icons used in the classic theme:

   Find a place anywhere between <body> and </body> where you want the vanity icons to appear. Usually this should go at the bottom of the page right before the </body> tag.

   ###### Insert the vanity graphics:

       {VANITY}

4. Choose a place where the custom header and custom footer should be located on your Coppermine pages. It is recommended to do this even if you're not planning to actually use them as they can be enabled or disabled at any time in the Coppermine configuration:
   - {CUSTOM_HEADER}: Custom PHP header, like anycontent.php but shown on every page.
   - {CUSTOM_FOOTER}: Custom PHP footer, like anycontent.php but shown on every page.

   It's recommended to place the custom header immediately following the <body> tag and the custom footer immediately before the "{VANITY}" token or immediately before the </body> tag.

   ###### Insert the custom header:

       {CUSTOM_HEADER}

   ###### Insert the custom footer:

       {CUSTOM_FOOTER}

5. Prepare the template.html for validation by itself.

   ###### Find:

       <html dir="{LANG_DIR}">

   ###### Replace with:

       <!-- <html dir="{LANG_DIR}"> -->
       <html>

   ###### Find:

       <meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />

   ###### Replace with:

       <!-- <meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" /> -->

   ###### Find:

       {META}

   ###### Replace with:

       <!-- {META} -->

6. Validate the template.html: http://validator.w3.org

   ###### Common Errors:

   - Missing <head> or </head> elements; Insert them in the proper place.
   - Tables nested inside of <span></span> elements; switch to <div></div> instead.
   - Table cells using the depreciated background property "<td background="; use inline styles: "<td style="background-image:url(...);">"
   - Duplicate "id=" fields; The "id" field is supposed to be unique because it is used as a javascript selector as well as a CSS selector; Eliminate the duplicate values

   ###### Make other changes as necessary.

7. Prepare template.html to be used as a Coppermine template after validation.

   ###### Find:

       <!-- <html dir="{LANG_DIR}"> -->
       <html>

   ###### Replace with:

       <html dir="{LANG_DIR}">

   ###### Find:

       <!-- <meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" /> -->

   ###### Replace with:

        <meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" />

   ###### Find:

       <!-- {META} -->

   ###### Replace with

       {META}