Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles
How to create your own vBulletin-powered page! (uses vB templates)
Gary King's Avatar
Gary King
Join Date: Jan 2002
Posts: 2,046

 

Show Printable Version Email this Page Subscription
Gary King Gary King is offline 03-03-2004, 10:00 PM

Want to create your very own vBulletin powered page which includes the header, footer, and the user permissions system as well?

Well now you can

Want to know how it will look? Take a look at the attached screenshot below!

Now includes the Who's Online modification!
Also, instructions included on how to create your own pages that are integrated with current vBulletin files!

I'm going to give you a generic page but you can easily modify the contents of the page by changing the template

So here we go

Instructions:

Create a new file, whatever you want to call it (let's say test.php).
Open up test.php and add the following (replace TEST with whatever template you want to show):
PHP Code:
<?php

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

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''test'); // 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(
    
'TEST',
);

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

);

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

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

$navbits = array();
$navbits[$parent] = 'Test Page';

$navbits construct_navbits($navbits);
eval(
'$navbar = "' fetch_template('navbar') . '";');
eval(
'print_output("' fetch_template('TEST') . '");');

?>
Be sure to change 'TEST' to the actual template name, and change 'test' to the filename. Also, change 'Test Page' to whatever you want to show in the navbar, such as 'Viewing Member Profile' (just an example).

Now create the template, called TEST with the following content:
HTML Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle]</title>
$headinclude
</head>
<body>
$header

$navbar

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
    <td class="tcat">Title</td>
</tr>
<tr>
    <td class="alt1">Text</td>
</tr>
</table>

$footer
</body>
</html>
All done
Now check it out by going to test.php

Who's Online Modification

Now if you want to show who is browsing this new page of yours, just open up includes/functions_online.php and find:
PHP Code:
    case 'bugs.php':
        
$userinfo['activity'] = 'bugs';
        break; 
Below, add:
PHP Code:
    case 'test.php':
        
$userinfo['activity'] = 'test';
        break; 
(Be sure to change the values to your own!)

Then find:
PHP Code:
        case 'modcplogin':
            
$userinfo['action'] = $vbphrase['moderator_control_panel_login'];
            break; 
Below add:
PHP Code:
        case 'test':
            
$userinfo['action'] = 'Viewing Test Page';
            break; 
All done!

----------------------------------

Also if you want to create your own pages 'within' current vBulletin files, do the following:

Open the file you want, and then right before the final ?> in the source code, add the following:

PHP Code:
if ($_REQUEST['do'] == 'xxx')
{
    eval(
'print_output("' fetch_template('TEMPLATE_XXX') . '");');

Replace 'xxx' with whatever you want ?do= in the query string to be (for example, replace 'xxx' with 'showprofile' so then someone would type in example.php?do=showprofile to view this template.) Then of course, change TEMPLATE_XXX to your template name, it's that simple!


edit by Lynne: If running 3.8.4 or above, see this post to take care of the PHP 5.3.0-related problems - https://vborg.vbsupport.ru/showpost....postcount=1171
Attached Images
File Type: jpg template_test.jpg (62.5 KB, 0 views)
Reply With Quote
  #1272  
Old 06-23-2010, 11:22 AM
ragtek ragtek is offline
 
Join Date: Mar 2006
Location: austria, croatia
Posts: 1,630
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jdrakopo View Post
I'm having trouble getting this working.
Am getting the following errors (below).

=======
Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: navbar in [path]/includes/functions.php on line 3957

Parse error: syntax error, unexpected T_STRING in /home/bostonwh/public_html/adhub1.php(42) : eval()'d code on line 1

Warning: fetch_template() calls should be replaced by the vB_Template class. Template name: adhub1 in [path]/includes/functions.php on line 3957
=======


The last part of my custom php file (named adhub1.php) is as follows (see just below):
(and I do have a template named 'adhub1'.)

Any ideas ?
I must be missing something simple.
Thanks.

// ############ START MAIN SCRIPT ################
$navbits = array();
$navbits[$parent] = 'adhub1';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('adhub1') . '");');

?>
You haven't seen the posts before your, or?*g*
This is for vB3 and not vB4
Reply With Quote
  #1273  
Old 06-23-2010, 11:46 AM
jdrakopo jdrakopo is offline
 
Join Date: Jun 2010
Posts: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I see.
Thanks.

I was led to this thread by another one (https://vborg.vbsupport.ru/showthread.php?t=228112)... but see that this is for vb3 and that one appears to have tailored the work for vb4.
Reply With Quote
  #1274  
Old 07-03-2010, 10:32 AM
jimjam jimjam is offline
 
Join Date: Jul 2007
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi I am using VB 3.84, I have followed the instructions but getting this error when i go to the page, any ideas, thanks

Quote:
The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.
Reply With Quote
  #1275  
Old 07-05-2010, 09:50 AM
jimjam jimjam is offline
 
Join Date: Jul 2007
Posts: 75
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If I turn Gzip off in VBadmin then the custom page shows up, but then I have no compression and a slow site, how can i get the custom page to show up with th egzip enabled? Thanks

Quote:
Originally Posted by jimjam View Post
Hi I am using VB 3.84, I have followed the instructions but getting this error when i go to the page, any ideas, thanks
Reply With Quote
  #1276  
Old 08-26-2010, 08:43 PM
AndrewRich's Avatar
AndrewRich AndrewRich is offline
 
Join Date: Dec 2007
Location: Palo Alto, CA
Posts: 67
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
You can try adding the base url tag to your <head>:

HTML Code:
<base href="http://www.yoursite.com/forums/" />
Thank you for this tip! It helped me in a somewhat different context but was exactly what I needed.
Reply With Quote
  #1277  
Old 08-29-2010, 01:28 AM
m2006's Avatar
m2006 m2006 is offline
 
Join Date: Jan 2006
Posts: 76
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi my friends

I want to see members use online. Create a new page on the outside, but more of how to root forum.

Sample
web.com/forum/index.php << root forum
web.com/new/index.php << my add new sub folder
Reply With Quote
  #1278  
Old 09-09-2010, 02:37 PM
ludachris ludachris is offline
 
Join Date: Feb 2002
Posts: 287
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Can anyone explain how to use this approach to get an OScommerce installation (that lives outside the forums directory) to use vBulletin header/footer/navbar templates and usergroup permissions?

I have an OScommerce installation that I'd like to wrap with my vb header, navbar and footer template and have the user permissions tied in so that the header navigation that is displayed differs from usergroup to usergroup. I just can't figure out where to plug in some of the php code in the OScommerce files.
Reply With Quote
  #1279  
Old 09-13-2010, 10:11 AM
genxstan genxstan is offline
 
Join Date: Nov 2009
Posts: 31
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I didn't get a thing . Is there some good tutorial ,step by step i mean.
Reply With Quote
  #1280  
Old 09-15-2010, 11:42 PM
BigJohnny's Avatar
BigJohnny BigJohnny is offline
 
Join Date: Jun 2006
Location: Canada
Posts: 500
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by genxstan View Post
I didn't get a thing . Is there some good tutorial ,step by step i mean.
you probably named something wrong. I had the same problem and realized that I had missed a TEST that I needed to rename, and that my template name needed to match the template call exactly, including case.

look very closely and make sure all the names match up to what they need to be. I just got this working nicely on 3.8.3
Reply With Quote
  #1281  
Old 09-18-2010, 05:05 PM
BigJohnny's Avatar
BigJohnny BigJohnny is offline
 
Join Date: Jun 2006
Location: Canada
Posts: 500
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok so if i want to make this work outside of the forums directory, how do you change the navbits so it doesn't link back to the forum?
Reply With Quote
Reply

Thread Tools

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 07:51 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08016 seconds
  • Memory Usage 2,361KB
  • Queries Executed 26 (?)
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
  • (2)bbcode_html
  • (6)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (5)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (1)postbit_attachment
  • (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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete