Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Module CMPS: AJAX Tabbed Content Details »»
Module CMPS: AJAX Tabbed Content
Version: 1.5, by bobster65 bobster65 is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Add-On Releases - Version: 3.6.x Rating:
Released: 08-07-2007 Last Update: 08-16-2007 Installs: 71
Template Edits
Additional Files Translations  
No support by the author.

AJAX Tabs - Version 1.5

Note: Version 1.0 is still available as a secondary option and is located in post 2 of this thread.

Note 2: Altho this "How To" is written for implementation within CMPS, this can be easily implemented within vB , ie on custom vB pages or within current vB pages.

Whats changed within this release?: This new version (based on the AJAX Tabs script written by Dynamic Drive - http://www.dynamicdrive.com/dynamici...tent/index.htm) utilizes Ajax to display a selection of external content on your page inside a DIV and via CSS tabs. Below lists the features of this script that together make it highly adaptable in the real world:
  • Fetch and display an external page (from the same domain) inside a container when a tab is clicked on.
  • Add a "default" content inside the container to either be shown while no tabs are selected, or to be associated with a specific tab. The default content is added directly to your page and not fetched via Ajax, for sake of server efficiency.
  • For each tab, you can not only fetch an external page to be shown, but also load external .css and .js files associated with that page if desired.
  • Supports session only persistence, so the last tab user clicked on is remembered if he/she returns to the page within the same browser session.
  • Supports multiple Ajax Tabs Contents on the same page.
  • Fully unobtrusive, search engine friendly script. The tabs are simply list based links. For search engines or browsers with JavaScript disabled, the contents will just load as actual pages (instead of inline via Ajax).
As I mentioned in the previous release, I received many emails & PMs about how I implemented AJAX Tabbed Modules within vBadvance & vB, so instead of replying to each one seperately, I went ahead and wrote up this "how to". I hope that its easy to follow along, answers your questions and meets your needs. If you are reading this and wondering what a tabbed module is, check out the attached screen shots for a visual.

This is what I've done so far to implement AJAX Tabs functionality within vBadvance for my websites and others....

CMPS Version Note: Coded for CMPS v3.0 RC1. Modifications can be made to the php files (Require Back-End) to work with CMPS v2.x

CMPS Module Type: TEMPLATE w/Alternative Module Wrapper Template
Templates: adv_portal_Tab_Block, adv_portal_alt_module_wrapper (optional)
Files: ajaxtabs.js, ajaxtabs.css, Sample Content Files, images(3)

Note: I've included sample files in the attached Zip File to use with the step by step how to.

Step 1. Upload the ajaxtabs directory (located in the attached Zip File) to the FORUMS Root.
This directory contains the ajaxtabs.js file & the ajaxtabs.css file
path example: /www/forums/ajaxtabs/ajaxtabs.js

Step 2. Modify CSS file.
Change paths to images to reflect your domain and forum root (2 lines)...

Note: Additional Modifications to this file can be made once you get the initial sample system up and running.

CSS file - Name: ajaxtabs.css
Code:
.shadetabs{
padding: 3px 0;
margin-left: 0;
margin-top: 1px;
margin-bottom: 0;
font: bold 12px Verdana;
list-style-type: none;
text-align: left; /*set to left, center, or right to align the menu as desired*/
}

.shadetabs li{
display: inline;
margin: 0;
}

.shadetabs li a{
text-decoration: none;
padding: 3px 7px;
margin-right: 3px;
border: 1px solid #778;
color: #FFFFFF;
background: #343958 url(http://www.domain.com/forums/ajaxtabs/shade.gif) top left repeat-x;
}

.shadetabs li a:visited{
color: #FFFFFF;
}

.shadetabs li a:hover{
text-decoration: underline;
color: #FFFFFF;
}

.shadetabs li.selected{
position: relative;
top: 1px;
}

.shadetabs li.selected a{ /*selected main tab style */
background-image: url(http://www.domain.com/forums/ajaxtabs/shadeactive.gif);
border-bottom-color: gray;
}

.shadetabs li.selected a:hover{ /*selected main tab style */
text-decoration: none;
}

.contentstyle{
border: 1px solid gray;
width: 425px;
margin-bottom: 0em; padding: 2px;
background: white;
}

Step 3. Create, Name and Upload Multiple "Content" files.
I've included working samples in the attached Zip File.
The location I chose for these was the FORUMS root.
path example: /www/forums
You can name these files anything you want. For example, I chose a naming convention - tabexternal.htm, tabexternal2.php, tabrecentnews.php, tabvbookie.php, ..etc etc

Note: Modifications to these files can be made once you get the initial system up and running.

Sample PHP "Content" file - Sample name: tabexternal.php
PHP Code:
<?php 

// ####################### SET PHP ENVIRONMENT ###########################  
error_reporting(E_ALL & ~E_NOTICE);  

// #################### DEFINE IMPORTANT CONSTANTS #######################  
define('NO_REGISTER_GLOBALS'1);  
define('THIS_SCRIPT''tabcontent'); // change this depending on your filename  

// ################### PRE-CACHE TEMPLATES AND DATA ######################  
// get special phrase groups  
$phrasegroups = array(  

);  

// get special data templates from the datastore  
$specialtemplates = array(  
      
);  

// pre-cache templates used by all actions  
$globaltemplates = array(  
    
'TAB',  
);  

// pre-cache templates used by specific actions  
$actiontemplates = array(  

);  

// ######################### REQUIRE BACK-END ############################  
require_once('./global.php');  
require_once(
'./includes/vba_cmps_include_template.php'); 
require_once(
'./includes/vba_cmps_global.php'); 

// #######################################################################  
// ######################## START MAIN SCRIPT ############################  
// #######################################################################  


?> 

<?php

echo 'HELLO WORLD!  Welcome to AJAX TABs ....';

?>
Sample HTM "Content" file - Sample name: tabexternal.htm
Code:
<img src="ajaxtabs/bird.jpg" style="float: left; margin: 0 10px 5px; border: 1px solid gray" />
Birds are bipedal, warm-blooded, oviparous vertebrate animals characterized primarily by feathers, forelimbs modified as wings, and hollow bones.
<br style="clear: left" />


Step 4. (optional) Create an Alternative Module Wrapper Template.
I chose to do this, because I didn't want to use the standard Module Wrapper that comes default with vBadvanced.
NOTE: Use the default wrapper if you choose not to create your own custom one. I named mine - adv_portal_alt_module_wrapper

Alternative Module Wrapper Template - Sample name: adv_portal_alt_module_wrapper
Code:
<div style="padding-bottom:$vba_style[portal_vspace]px">
	<table align="center" border="0" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]"  width="100%">
		
		<tbody id="collapseobj_module_$mods[collapse]" style="$modcollapse">
			<if condition="$show['tablerow']">
				<tr>
					<td class="$bgclass">
						$modulehtml
					</td>
				</tr>
			<else />
				$modulehtml
			</if>
		</tbody>
	</table>
</div>

Step 5. Create a new Template.
This template will be the one that you include with the module that you will create in Step 6. I've included the code for the template below, HOWEVER, there are some edits that you will need to make to the code based upon steps 1-3 above.

Custom Template Sample name: adv_portal_Tab_Block_Main
Code:
<tr><td>
<head>
<link rel="stylesheet" type="text/css" href="/forums/ajaxtabs/ajaxtabs.css" />
<script type="text/javascript" src="/forums/ajaxtabs/ajaxtabs.js">
/***********************************************
* Ajax Tabs Content script- ? Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>
</head>
<body>

<ul id="maintab" class="shadetabs">
<li class="selected"><a href="http://www.domain.com/forums/tabexternal.php" rel="ajaxcontentarea">Tab 1</a></li>
<li><a href="http://www.domain.com/forums/tabexternal2.php" rel="ajaxcontentarea">Tab 2</a></li>
<li><a href="http://www.domain.com/forums/tabexternal3.php" rel="ajaxcontentarea">Tab 3</a></li>
<li><a href="http://www.domain.com/forums/tabexternal4.php" rel="ajaxcontentarea">Tab 4</a></li>
</ul>

<div id="ajaxcontentarea" class="contentstyle">
<p>Congrats, AJAX Tabbed Content is working on your site!</p>
</div>

<script type="text/javascript">
//Start Ajax tabs script for UL with id="maintab" Separate multiple ids each with a comma.
startajaxtabs("maintab")
</script>
</body>
</td></tr>
EDITS NEEDED TO THE ABOVE TEMPLATE:

EDIT 1 - Path location of the ajaxtabs.css file created in step 2. Simply edit this line in the template to the correct path.
Code:
<link rel="stylesheet" type="text/css" href="/forums/ajaxtabs/ajaxtabs.css" />
EDIT 2 - Path location of the ajaxtabs.js file in step 1. Simply edit this line in the template to the correct path where you uploaded the ahahLib.js file.
Code:
<script type="text/javascript" src="/forums/ajaxtabs/ajaxtabs.js">
EDIT 3 - Path location of the "Content" file(s) created in step 3. Simply edit the line(s) in the template to the correct path where you uploaded the PHP file(s).
Code:
<li><a href="http://www.domain.com/forums/tabexternal4.php" rel="ajaxcontentarea">Tab 4</a></li>

Step 6. Create a new CMPS TEMPLATE Module.
Name it what ever you like. Include the template that you created in Step 5 above. Make sure that you either use the Module Wrapper Template OR the Alternative Module Wrapper Template that you created in optional Step 4 above. Give permission(s) to the user groups that you want to be able to view this.

Step 7. Add the Module to a CMPS page.
Add the module created in Step 6 above to any CMPS page (make a test page if you want to)...

Step 8. Load the CMPS page that you added the module to.
If you performed the above steps correctly, the result will be a tabbed block module with 4 tabs named Tab 1, Tab 2, Tab 3, Tab 4. The content for Tab 1 will initially say "Congrats, AJAX Tabbed Content is working on your site!" as that will preload, Click on Tab 1 and it will retrieve via AJAX, the code created in the external file for tab 1. Click on the other tabs to retrieve the info created within those external files..


CUSTOMIZATION

Style: Modify CSS File in Step 2 to match the Style of your site.

Tab Names: Modify Template created in Step 5 to change the NAME of the tabs themselves - ie.. from Tab 1 to Announcements (see below)

Code:
<li><a href="http://www.domain.com/forums/tabexternal.php" rel="ajaxcontentarea">Announcements</a></li>

Content: Modify "Content" File(s) created in Step 3 to generate content. You can add static content or Dynamic Content. Below is a very very basic sample of what can be done.

Sample mix of static and dynamic content
PHP Code:
<?php

echo '<table cellspacing="2" cellpadding="0" width=100%><tr> <td class="alt2"><span class="smallfont">Welcome Back To YOURSITENAMEHERE&nbsp;<b>' $vbulletin->userinfo['username'] . '!</b><br><br>Hope you are enjoying the off season so far.<br><br> The Draft, Mini Camps & Hall of Fame Weekend Events are complete, Train Camps are in full swing and Preseason Games have started to kick off!<br><br>
Im sure these next few weeks will be fun to follow and make the upcoming season even more exciting. <br><br>Good luck with your team&nbsp;<b>' 
.  $vbulletin->userinfo['username'] . '.</b></span></td></tr>';

?>
NOTE: You can get as creative as you want to with content (Both static and Dynamic). For example, I took code from the recentthreads.php file, modified it and included that as tabbed content to display recent threads within a tab on my site (as seen in the screen shots attached in Post 1 of this thread). (I've included samples with instructions of this within the zip file. Side Note: use/modify these samples at your own risk)


ADDING MORE TABS

To add more tabs, you will need to modify the template created in Step 5 and create a new "content" file for each new tab (as explained in Step 3).

Step 1. Add the following line of code to the Template that you created in Step 5 for each new Tab that you want to appear. Its a good idea when you add the lines that you keep them in order with the other lines currently in the file.

Code:
<li><a href="http://www.domain.com/forums/CONTENT FILE" rel="ajaxcontentarea">TAB NAME</a></li>
Example:
Code:
<li><a href="http://www.domain.com/forums/tabcontent5.php" rel="ajaxcontentarea">Sports News</a></li>
Step 2. Upload the newly created "Content" file (as explained in Step 3) to your FORUMS root.


If you want to read up on AJAX Tabs, check out the Ajax Tabs Content script over at Dynamic Drive (http://www.dynamicdrive.com/dynamici...tent/index.htm)

....thats it in a nutshell.... I do hope that I explained things well enough to at least get a head start on AJAX Tabbed Modules. Let me know if you have any problems or need further explanation on anything...

Thanks and enjoy Bobster

Screen Shots Explained:

The 1st is an example of some dynamic content based on the user.
The 2nd is an example of modified recentthreads.php used within a tab.
The 3rd is an example of using modified vbarticles within a tab.
The 4th and 5th are examples of custom dynamic content within a tab.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #72  
Old 11-14-2007, 12:22 PM
bobster65's Avatar
bobster65 bobster65 is offline
 
Join Date: Mar 2006
Location: Montana
Posts: 1,169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey Guys.... there is a newer version of this here:

AJAX Tabs Content Script v2
https://vborg.vbsupport.ru/showthread.php?t=161197

It has the same features as this one, but with some added functionality that you might be interested in.
Reply With Quote
  #73  
Old 11-14-2007, 12:35 PM
class101 class101 is offline
 
Join Date: Sep 2007
Location: France
Posts: 134
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yup I have seen it but Im looking yet at another method you can try on vbseo.com homepage, it uses Adobe Spry

Interesting code, you may look it to update your addon
Reply With Quote
  #74  
Old 11-14-2007, 12:56 PM
bobster65's Avatar
bobster65 bobster65 is offline
 
Join Date: Mar 2006
Location: Montana
Posts: 1,169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by class101 View Post
yup I have seen it but Im looking yet at another method you can try on vbseo.com homepage, it uses Adobe Spry

Interesting code, you may look it to update your addon
Sweet... you would implement it pretty close to the same way. Bookmarking it to test things out soon
Reply With Quote
  #75  
Old 11-14-2007, 05:35 PM
class101 class101 is offline
 
Join Date: Sep 2007
Location: France
Posts: 134
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

with Spry my tabexternal.php is in the /modules/ directoy

PHP Code:
<?php

$includetab1 
.= '<table cellspacing="2" cellpadding="0" width=100%><tr> <td class="alt2"><span class="smallfont">Welcome Back To SITE NAME&nbsp;<b>' $vbulletin->userinfo['username'] . '!</b><br><br>Hope you are enjoying the off season so far.<br><br> The Draft, Mini Camps & Hall of Fame Weekend Events are complete, Train Camps are in full swing and Preseason Games have started to kick off!<br><br> Im sure these next few weeks will be fun to follow and make the upcoming season even more exciting. <br><br>Good luck with your team&nbsp;<b>' .  $vbulletin->userinfo['username'] . '.</b></span></td></tr></table>';

eval(
'$home["$mods[modid]"][\'content\'] .= "' fetch_template('adv_portal_Tab_Block_Main') . '";');
?>
The adv_portal_Tab_Block_Main looks like:

PHP Code:
<script type="text/javascript" src="http://WEBSITE.com/forums/tabs/ajaxtabs.js"></script>

<
div id="TabbedPanels1" class="TabbedPanels" style="padding-bottom:$vba_style[portal_vspace]px" >
<
ul class="TabbedPanelsTabGroup">
<
li class="TabbedPanelsTab" tabindex="0">Tab 1</li>
<
li class="TabbedPanelsTab" tabindex="0">Tab 2</li>
<
li class="TabbedPanelsTab" tabindex="0">Tab 3</li>
<
li class="TabbedPanelsTab" tabindex="0">Tab 4</li>
</
ul>



<
div class="TabbedPanelsContentGroup">
    <
div class="TabbedPanelsContent">$includetab1</div>
    <
div class="TabbedPanelsContent">$includetab2</div>
        <
div class="TabbedPanelsContent">$includetab3</div>
    <
div class="TabbedPanelsContent">$includetab4</div>
</
div>

</
div>

<
script type="text/javascript">
var 
TabbedPanels1 = new Spry.Widget.TabbedPanels("TabbedPanels1");
</
script
then create the php module, selecting tabexternal.php and name the template it will use
havent tested to add much tabs yet but I guess you can add them in the same tabexternal.php file then.
Reply With Quote
  #76  
Old 11-14-2007, 05:45 PM
bobster65's Avatar
bobster65 bobster65 is offline
 
Join Date: Mar 2006
Location: Montana
Posts: 1,169
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cool Beans! I'm playing around with their Slider & Accordian Stuff... works pretty slick.
Reply With Quote
  #77  
Old 11-15-2007, 08:12 AM
class101 class101 is offline
 
Join Date: Sep 2007
Location: France
Posts: 134
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

looks like working so to define the tabbed module for example as a homepage's template, then you define unique locations in the cmps options that are locations of differents tabs, then you can choose to display for example recent threads within the Tabbed module defined as a homepage , that way you quickly add others modules within tabs without so much php editing
Reply With Quote
  #78  
Old 11-15-2007, 08:25 AM
turkforum turkforum is offline
 
Join Date: Oct 2004
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
looks like working so to define the tabbed module for example as a homepage's template, then you define unique locations in the cmps options that are locations of differents tabs, then you can choose to display for example recent threads within the Tabbed module defined as a homepage , that way you quickly add others modules within tabs without so much php editing
Reply With Quote
I am kind a comfused.. Can you explain us these step by step?
Especially in this step, vBa CMPS> Add Page > Template Page, How do we do it?
+
I did modify my ajax tabs and I am facing with strange problems like recent threads of my forums loads on firefox but not on IE..Here is the example of it..
http://www.turkforum.net/pasali.php?pageid=turkforum
Reply With Quote
  #79  
Old 11-15-2007, 12:30 PM
class101 class101 is offline
 
Join Date: Sep 2007
Location: France
Posts: 134
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ha yeah I see you used to try the bobster script , me Im talking about the Adobe Spry script wich looks like same as this one but with much documentation and samples

https://www.adobe.com/cfusion/entitl...?e=labs%5Fspry

you register for free and you dl Spry 1.6 and inside the Widget folder there is another folder "TabbedPanels" all is inside but let me know if it is of interest I can take the time to write the small tut how implementing Spry TabbedPanels + cmps, I'm able to choose any modules now to be displayed in tabs without any php edit with my method.

Screenshot(the 2 red areas are from the news module imported into the tab1):

Reply With Quote
  #80  
Old 11-23-2007, 07:51 AM
turkforum turkforum is offline
 
Join Date: Oct 2004
Posts: 88
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Class, thank you for showing an alternative way to use tabs..
In your system I have some questions..
1.As you might know with ajax system, we decrease the server loads by reducing query calls..For example, my cmps main page calls 10 quries to load with ajax..If I do it by your system,all tabbeb content will be called in same time and will it increase quries in total? (not ajax but kind a dhtml type)

2.Can we create more than one tab system in one page? Like below..

1 2 3 4 > tabs X
content by numbers of tabs X
A B C D > tabs y
content by alphabets of tabs Y

thank you..
Reply With Quote
  #81  
Old 12-07-2007, 02:12 PM
Alfa1's Avatar
Alfa1 Alfa1 is offline
 
Join Date: Dec 2005
Location: Netherlands
Posts: 3,537
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by bobster65 View Post
AJAX TABS version 2.0 is now available as the primary option of this thread.... please review the new information as released today.

Version 1.0 information has been moved into the 2nd post of this thread for historical purposes as well as reference for those that have installed.

Thanks.. Bobster
Just a heads up: The 1st post says version 1, while the 2nd post says version 1.5. Where is version 2?

I have installed the version in the 1st post and am getting this error:
Quote:
Warning: array_merge() [function.array-merge]: Argument #1 is not an array in /includes/vba_cmps_include_template.php on line 47
EDIT: I found version 2 here: https://vborg.vbsupport.ru/showthread.php?t=161197
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 01:29 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08089 seconds
  • Memory Usage 2,376KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (10)bbcode_code
  • (4)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete