The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
How To New Pages in vb style
Ok ive seen that alot of people have been asking how to create new pages with the vbulletin style on them like i have used on forum.imaedia.com for the link/games etc pages, so ive decided to write this to tell everyone how to do it Ok i usualy start by creating a basic template in the admin cp that i will use for all the pages that im going to add. log into your admin cp go to styles and templates then go to the style manager and expand the style that you are currently using on the right of the page you will see a drop down menu, select add new template from it and then you need to name it for this example im naming mine : "test" now we need to create a very basic html template to go in this template: because im doing this quickly i just added any css i wanted to use onto this page instad of using the vbulletin css styles ok so put the following into your temoplate and change the parts that say page name and page content to suit your needs Code:
$stylevar[htmldoctype] <html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]"> <head> <!-- no cache headers --> <meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Expires" content="-1" /> <meta http-equiv="Cache-Control" content="no-cache" /> <!-- end no cache headers --> <title><phrase 1="$vboptions[bbtitle]">$vbphrase[x_powered_by_vbulletin]</phrase></title> <style type="text/css"> <!-- .top { border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-top-color: #000000; border-right-color: #000000; border-bottom-color: #000000; border-left-color: #000000; } .all { border: 1px solid #000000; background-color: #FFFFFF; } --> </style> $headinclude </head> <body> $header $navbar <table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="$stylevar[cellspacing]" class="all"> <thead> <tr align="center"> <td align="left" valign="top" class="thead"> <div align="left"></div> <div align="left"> <table width="100%" border="0" cellpadding="3" cellspacing="0"> <tr> <td class="tcat">**********Test Page**********</td> </tr> <tr> <td>********Page Content would go here :)**********</td> </tr> </table> <font size="2"><font face="Verdana, Arial, Helvetica, sans-serif"></font></font></div></td> <if condition="$vboptions[showmoderatorcolumn]"> </if> </tr> </thead> $forumbits <tbody> </tbody> </table> $footer </body> </html> The next step is to create the php file that will call the template, Here is the code i used, to incldue the naviation and header/footer Code:
<?php // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('NO_REGISTER_GLOBALS', 1); define('THIS_SCRIPT', 'yourscript'); // ################### 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( 'TEMPLATENAME' ); // pre-cache templates used by specific actions $actiontemplates = array(); // ######################### REQUIRE BACK-END ############################ require_once('./global.php'); // ### ALL DONE! SPIT OUT THE HTML AND LET'S GET OUTA HERE... ### eval('$navbar = "' . fetch_template('navbar') . '";'); eval('print_output("' . fetch_template('TEMPLATENAME') . '");'); ?> then go to yourforumurl/pagename.php and you got yourself a non vb page with vb template on it hope that helps post any questions, i prolli missed something or done something totaly wrong but hehe just trying to help :P |
#42
|
||||
|
||||
Quote:
If your main page was information.php you would have to write multiple request methods such as: information.php?do=main information.php?do=contact information.php?do=about You would create your templates and put them all into the $globaltemplates array() like $globaltemplates = array( 'main', 'contact', 'about' ); When working with multiple templates, I do advise to use some prefix such as info_ or something. Then you setup your php file to handle the requests. PHP Code:
but basically, you have to handle the code for your different url requests, then write the different eval() to fetch the templates within those requests. I suggest looking into the code of a product that uses multiple urls to get a better understanding. ****************************** Quote:
But, if you want it to be contained within your forum layout, there are several variables you must call such as $headinclude,$header,$navbar and $footer This places your content within the vbulletin page. Simply by pasting the code provided into a new template should work for you. As far as the PHP file, there are really only two areas you need to edit. These areas MUST conform to the template name you just created. Code:
// pre-cache templates used by all actions $globaltemplates = array( 'TEMPLATENAME' ); Code:
eval('print_output("' . fetch_template('TEMPLATENAME') . '");'); You would edit the supplied php code in this thread to: Code:
$globaltemplates = array( 'aboutme' ); Code:
eval('print_output("' . fetch_template('aboutme') . '");'); Save the file as aboutme.php and upload to your forum root so when people visit www.yoursite.com/forum/aboutme.php it will display the contents of the template you created. If you need assistance with a simple page, contact me. I'd like to add that sometimes the forumjump menu does not work on pages in which case you need to add PHP Code:
Also, if you would like to have the name appear in the navbar when viewing the page,use PHP Code:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|