How TNG builds a page

From TNG_Wiki
Revision as of 18:23, 15 July 2011 by Leslie (talk | contribs)

Jump to: navigation, search

Some of the information on how TNG builds a page can be found in the Genlib Functions article.

In order to effectively troubleshoot or enhance your site, you need to know how the informaiton gets put on the user's screen. How does the HTML file that they look at get constructed from the php file that they select? It's an exceedingly convoluted process, and it's easy to get lost.

If you try to change something, and change it in the wrong file, at best your change won't work. Most likely, the whole site won't work. Then come tears. So...

Let's try to map this out. For the text based folk among us, here's the list of files and the order in which they are called.

Starting with ANY main php file on your site - any "menu item" link:

  1. begin.php
    1. subroot.php
    2. config.php
      1. customconfig.php
    3. templateconfig.php
  2. [optional files depending (mapconfig, cmsevents, etc.)]
  3. genlib.php
  4. getlang.php
  5. text.php
  6. connect to database - nothing in the previous files can refer to things in the database, because it has not yet been connected, errors will result
  7. checklogin.php
  8. [log.php, personlib.php, functions.php]
  9. [variables and scripts for this file]
    note that up to this point, only variables have been created, the web page has not yet been started
  10. tng_header
    1. create doctype and xmlns lines - this is the beginning of the actual web page
    2. <head>
    3. title, keywords, description, scripts
    4. css files
    5. $custommeta => load your custom meta file as defined in Admin Setup
    6. </head>
    7. $customheader => load your custom header file as defined in Admin Setup
    8. <body>
    9. tng_icons (the three button menu that you put on left or right)
  11. [stuff in the file]
  12. tng_coreicons (links enabled in Admin Setup - home/login/search/print/bookmark)
  13. [stuff in the file]
  14. tng_footer
    1. $customfooter => load your custom footer file as defined in Admin Setup
    2. load some scripts
    3. end.php
      1. </body>
      2. </html>

For the more visual types, here's a picture. Hope it makes sense.

Process Map v1

tng_header, tng_icons, tng_coreicons, and tng_footer are all functions defined in the file genlib.php

The first version of flowchart image, kept here in case it makes more sense than the new version.

Process Map v1