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

Reply
 
Thread Tools
[How to] Add custompages to your forum Details »»
[How to] Add custompages to your forum
Version: 1.01, by utw-Mephisto utw-Mephisto is offline
Developer Last Online: Feb 2013 Show Printable Version Email this Page

Version: 3.6.0 Rating:
Released: 08-22-2006 Last Update: 08-24-2006 Installs: 86
Template Edits
 
No support by the author.

This is not really a mod, since this is simply a "reminder" of a function build in but not documented. Submitted also to vbulletin.com of course.

If you would like to add custom pages (including header / footer of your forum) do the following:

Add a new template in the style of your choice. You can name it whatever you want, it has to have the prefix
Code:
custom_
though.

You are then able to call the custompage using

http://www.ut2007world.com/misc.php?do=page&template=test2

Change www.ut2007world.com with your domain and the test2 with your template name accordingly.

Lets make an example.

Admincp > Styles & Templates > Style Manager > In drop down choose Add New Template

Name the template for example custom_google

Use the following code :

Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle]</title>
</head>
<body>

$header
$navbar
<!-- Custom Code Start Here -->
<center>
<iframe src="http://www.google.com" width="80%" height="400"></iframe></center>
<!-- / Custom Code Ends here -->
$footer
</body>
</html>
As you can see, I just use an iframe for you to see any results.

Now use your web-browser and go to

http://<domain>/misc.php?do=page&template=google

And change the domain to your own.

See attached a screenshot how the above example would look like. Also attached a default html code for a template. The page name will be automatically parsed in the navbar.

If you would like to have the code displayed for certain usergroups only, you can add one ID

Code:
<if condition="$bbuserinfo['usergroupid'] == '6'">
</if>
Or more usergroup IDs

Code:
<if condition="$bbuserinfo['usergroupid'] == '5' OR $bbuserinfo['usergroupid'] == '6' OR $bbuserinfo['usergroupid'] == '7'">
</if>
If you just would like to make sure that ANY user who is registered can see the code, regardless of its group, add

Code:
<if condition="$bbuserinfo[userid]">
</if>
instead.

Example code would be now:

Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle]</title>
</head>
<body>

$header
$navbar           
<if condition="$bbuserinfo[userid]">
<!-- Custom Code Start Here -->
<center>
<iframe src="http://www.google.com" width="80%" height="400"></iframe></center>
<!-- / Custom Code Ends here -->
</if>
$footer
</body>
</html>

On request:
Creating Custom Pages using vbadvanced
Anyway, some people would like to add for example flashchat, irc chat or simple iframes including all those modules etc. etc.

Some demos :

FlashChat
Custom Stuff

etc. etc.

So lets get started.

First, you need to create a template. Lets use as exmaple an iframe where google.com runs in it ...

Create a new template with the prefix adv_portal_ and name it for example google.

Admincp > Styles & Templates > Style Manager > In drop down choose Add New Template



Put in the code

Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle]</title>
</head>
<body>

$header
$navbar
<!-- Custom Code Start Here -->
<center>
<iframe src="http://www.google.com" width="80%" height="400"></iframe></center>
<!-- / Custom Code Ends here -->
$footer
</body>
</html>
and call it adv_portal_google



Now add a new Page which is Template Based



Page Title : What you would like to have displayed in the browser title bar
Page Identifier : This is the variable that will be used in the URL to link to this page. For example, if this option is set to 'games', then the link to this page would look like this: /cmps_index.php?page=games
Template : adv_portal_google

Should look something like



You don't have to use the Module Shell Template Options, only if you would like to have a typicall box around the stuff you display including the button to expand / collapse it

Now the important stuff : modules

There is not really a guideline for it ... The most important modul you need :

Custom Page Content

If you don't use it - you will get a white page ..

But for this example, lets disable all modules in the middle, except the one just mentioned, and some modules on the left and right. You will proparbly have a different module set, but once again : Custom Page content MUST and WILL be there



Since you named the identifier google - you can browse now to that page using

http://<domain>/cmps_index.php?page=google


IF you renamed cmps_index.php to index.php - you need to change that of course...

Here is a demo :

http://www.ut2007world.com/index.php?page=google


Show Your Support

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

Comments
  #12  
Old 08-24-2006, 03:18 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Selene
Ok i wanted guests not to view that page.

So i did:



For the msg that i wanted to show the "guests" i just used IF code again and specified the Guest usergroup and wrote the msg so it works now

Cool!
Nice "think outside the box" - solution - cool ..
Reply With Quote
  #13  
Old 08-24-2006, 04:30 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I was playing around a bit..

If your template would look like

Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle]</title>
</head>
<body>

$header
$navbar
<if condition="$bbuserinfo[userid]">
<center>
<iframe src="http://www.google.com" width="80%" height="400"></iframe></center>
<else />		
<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="70%" align="center">
<tr>
	<td class="tcat">vBulletin Message</td>

</tr>
<tr>
	<td class="panelsurround" align="center">
	<div class="panel">
		<div align="left">
	
				
			<!-- main error message -->
			
			
			<blockquote><p><p><strong>$bbuserinfo[username]</strong>, you do not have permission to access this page. This could be due to one of several reasons:</p>

<ol>
	<li>Your user account may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?</li>

	<li>If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.</li>
</ol>

<div align="right">
	<a href="login.php?do=logout&amp;logouthash=b79dddc3a894bac9fea040e270f00ee7">Log Out</a>
	<a href="index.php?">Home</a>
</div></p></blockquote>
			
				
			<!-- / main error message -->			
		
		
		</div>
	</div>

	<!--
	<div style="margin-top:6px">
		<input type="submit" class="button" value="Go Back" accesskey="s" onclick="history.back(1); return false" />
	</div>
	-->
	</td>
</tr>
</table>		
		</if>
$footer
</body>
</html>
Which would look like



You can also remove the $bbuserinfo[username] and replace it with something you like or whatever ...

Since I am using in the example above <if condition="$bbuserinfo[userid]"> - it will give out an error regardless of the usergoupid
Reply With Quote
  #14  
Old 08-24-2006, 05:07 PM
Selene Selene is offline
 
Join Date: Feb 2005
Posts: 166
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

utw, nice one!

thanks a lot for this one. I am going to use this custom page thing on my vbulletin site.
Reply With Quote
  #15  
Old 08-24-2006, 07:09 PM
Kirk Y's Avatar
Kirk Y Kirk Y is offline
 
Join Date: Apr 2005
Location: Tallahassee, Florida
Posts: 2,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Why doesn't vBulletin document things like this -- it's a huge time-saver.
Reply With Quote
  #16  
Old 08-24-2006, 09:26 PM
LanciaStratos's Avatar
LanciaStratos LanciaStratos is offline
 
Join Date: Oct 2001
Location: somewhere you're not
Posts: 221
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've got to echo what others have said here - this is an outstanding integrated feature of vBulletin that deserves a LOT more attention. Finding this thread has saved me a few hours of coding and testing, and like they say, time is money. Spread the word on this great feature, guys, and many thanks to utw for bringing this up!!!
Reply With Quote
  #17  
Old 08-24-2006, 09:29 PM
Jeordie015 Jeordie015 is offline
 
Join Date: Nov 2002
Location: Illinois, USA
Posts: 125
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How would you change it so in the little nested directory thing showing where you are has a different name than just the template name. Using the example in the first post. It would just say that you were in test2. And that looks a little weird.

Edit: The reason why I am asking is that I want the name to be two separate words, and you can't have spaces...so yeah.
Reply With Quote
  #18  
Old 08-24-2006, 10:06 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Added to vbulletin.com too

http://www.vbulletin.com/forum/showthread.php?t=197563

Thanks guys for the great responses
Reply With Quote
  #19  
Old 08-24-2006, 10:10 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Jeordie015
How would you change it so in the little nested directory thing showing where you are has a different name than just the template name. Using the example in the first post. It would just say that you were in test2. And that looks a little weird.

Edit: The reason why I am asking is that I want the name to be two separate words, and you can't have spaces...so yeah.
Don't quite understand what you mean tbh .. You can give the template any name, example :

Lets call the template custom_Jeordie015

Here the result :

http://www.ut2007world.com/misc.php?...ate=Jeordie015
Reply With Quote
  #20  
Old 08-24-2006, 10:25 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Added instructions (on request) how to use vbadavanced for custom pages and also how to use permissions.
Reply With Quote
  #21  
Old 08-24-2006, 10:40 PM
utw-Mephisto utw-Mephisto is offline
 
Join Date: Jan 2005
Posts: 648
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Jeordie015
How would you change it so in the little nested directory thing showing where you are has a different name than just the template name. Using the example in the first post. It would just say that you were in test2. And that looks a little weird.

Edit: The reason why I am asking is that I want the name to be two separate words, and you can't have spaces...so yeah.
Good question. Try this :

Create an empty file and use the following code :

Code:
 <?php

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

// ##################### DEFINE IMPORTANT CONSTANTS #######################
// change the line below to the actual filename without ".php" extention.
// the reason for using actual filename without extention as a value of this constant is to ensure uniqueness of the value throughout every PHP file of any given vBulletin installation.

define('THIS_SCRIPT', 'test');  

// #################### 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(
        // change the lines below to the list of actual templates used in the script
        'test',
);

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

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

// #################### HARD CODE JAVASCRIPT PATHS ########################
$headinclude = str_replace('"clientscript', '"' . $vbulletin->options['bburl'] . '/clientscript', $headinclude);

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

$navbits = array();  
// change the line below to contain whatever you want to show in the navbar (title of your custom page)
$navbits[$parent] = 'Test Page';

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

// change the line below to contain the name of the actual main output template used in your script
eval('print_output("' . fetch_template('test') . '");');

?>
Check the comments within the code to see what you need to change ..

Basicially the colored code.

Here you can specify the title using more than one word.

Now simply call the php file, like http://<domain>/<php file>
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 05:43 AM.


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.07398 seconds
  • Memory Usage 2,332KB
  • 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
  • (9)bbcode_code
  • (3)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
  • (3)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