How TNG builds a page

From TNG_Wiki
Jump to: navigation, search
Ambox notice.png This page provides a brief overview on how TNG builds a page. It is meant primary for non-progammers to help them understand how the TNG dynamic pages are created. TNG Users who want to make changes may need to see the How TNG builds a page - Details

The images below were accurate as of TNG v8.1.3 when this page was create in 2011. The flow is very similar in the current TNG version

TNG All


Process Map v2
Process Map v1

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 your visitor looks at get constructed from the php file that they select? It's an exceedingly convoluted process, and it's easy to get lost.

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:

TNG version: 11.0.0
You can click on the [Collapse] link on the right and then expand a previous version of TNG to view how TNG built the page previously or [Expand] to view the current section again.
  1. tng_begin.php
    1. begin.php
      1. subroot.php
      2. tngconnect.php - include database connect and other database functions
      3. config.php
        1. customconfig.php
      4. templateconfig.php
      5. siteversion.php
      6. getlang.php
      7. link to database - 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
    2. [optional files depending (mapconfig, cmsevents, etc.)]
    3. genlib.php
    4. getlang.php
    5. language/text.php
    6. tngdblib.php - include database query functions
    7. checklogin.php
    8. log.php [personlib.php, functions.php]
  2. [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
  3. 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. responsive tables scripts
    6. $custommeta => load your custom meta file as defined in Admin Setup
    7. </head>
    8. $customheader => load your custom header file as defined in Admin Setup and Template Settings
    9. <body>
    10. tng_icons (the three button menu that you put on left or right)
  4. [stuff in the file]
  5. tng_coreicons (links enabled in Admin Setup - home/login/search/print/bookmark)
  6. [stuff in the file]
  7. tng_footer
    1. tng_basicfooter
      1. stdsitecredit.php
    2. $customfooter => load your custom footer file as defined in Admin Setup and Template Settings
    3. load some scripts
    4. end.php
      1. </body>
      2. </html>


TNG version: 8.1.3
You can click on the [Expand] link on the right to view the steps on how TNG built a page in TNG v8.1.3 which most closely matches the images or [Collapse] to hide the section again.
  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>

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

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