The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
[HOW TO - vB4] Create your own vBulletin page
This is an updated article on how to create your own vbulletin powered page. It's only for use with vB4. This is NOT my work. I'm posting this from another thread where vB Style took the time to write this out. And his work is based on the article by Gary King here - How to create your own vBulletin-powered page! (uses vB templates) Instructions to Create your Own Page: 1. Create the php page: - 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 - WARNING: the template name is CASE SENSITIVE!!!): Code:
<?php // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'test'); define('CSRF_PROTECTION', true); // 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 ############################ // if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line // chdir ('/path/to/your/forums'); require_once('./global.php'); // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### $navbits = construct_navbits(array('' => 'Test Page')); $navbar = render_navbar_template($navbits); // ###### YOUR CUSTOM CODE GOES HERE ##### $pagetitle = 'My Page Title'; // ###### NOW YOUR TEMPLATE IS BEING RENDERED ###### $templater = vB_Template::create('TEST'); $templater->register_page_templates(); $templater->register('navbar', $navbar); $templater->register('pagetitle', $pagetitle); print_output($templater->render()); ?> 2. Create the Template: - If you are in debug mode, create the template in your MASTER STYLE so it shows up in all your styles, otherwise make sure you create the template in the style you are using. If following the page above, call the template TEST (WARNING: the template name is CASE SENSITIVE!!!) with the following content: HTML Code:
{vb:stylevar htmldoctype} <html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html"> <head> <title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title> {vb:raw headinclude} {vb:raw headinclude_bottom} </head> <body> {vb:raw header} {vb:raw navbar} <div id="pagetitle"> <h1>{vb:raw pagetitle}</h1> </div> <h2 class="blockhead">Title</h2> <div class="blockbody"> <div class="blockrow"> Text </div> </div> {vb:raw footer} </body> </html> Instructions to Add your Page to the Who's Online List (WOL): Create two plugins using the following hooks. Replace mypage and similar with your information. 1. hook location - online_location_process: Code:
switch ($filename) { case 'test.php': $userinfo['activity'] = 'mypage'; break; // add more cases here if you have more than one custom page. no need for multiple plugins. one plugin can handle all. } 2. hook location online_location_unknown: Code:
switch ($userinfo['activity']) { case 'mypage': $userinfo['where'] = '<a href="test.php?'.$vbulletin->session->vars[sessionurl].'">My Page</a>'; $userinfo['action'] = "Viewing My Page"; $handled = true; break; // add more cases here if you have more than one custom page. no need for multiple plugins. one plugin can handle all. } The colored part in the code above shows what you need to change in the plugins (both reds should be the same and both blues should be the same, whereas green can be whatever you want). Please see this article for help with rendering templates - [vB4] Rendering templates and registering variables - a short guide |
#1012
|
|||
|
|||
Quote:
A little stuck on this? --------------- Added [DATE]1382201159[/DATE] at [TIME]1382201159[/TIME] --------------- And if just by a little fairy dust of posting that if came too me what I did wrong. lol |
#1013
|
|||
|
|||
Hello;
I am creating an image-hosting website for which I require custom pages. This page serves the purpose, but I notice that it does not automatically re-size like the other vBulletin pages (see attached). For example, my main desktop monitor has 1920 screen resolution, whereas the ancient laptop I am on right now only has 1024 screen resolution. When I view the vBulletin forum on the smaller screen, everything is automatically re-sized so that it fits my 1024 resolution screen. (it even gets re-sized to fit my smartphone screen. However, my custom page does NOT automatically re-size, and so the excess images/text kind of "spills over" to the right (again see attachments for a comparison). So my question is, how do I construct my custom pages so that they too automatically re-size to fit smaller screens? Thanks for any help, Jack |
#1014
|
||||
|
||||
My guess: Do you use a mobile style? If that is the case, you need to have a fitting template for your cutom page in your mobile style.
|
#1015
|
|||
|
|||
Quote:
For example, there is no mobile style being used when I click the forum tab, yet the forum.php page automatically resolves to fit the resolution of my smaller screen ... yet this same thing does not happen when I click my ImageHosting tab and get my imagehosting.php page. In no case have I employed my mobile style. I have used my own customized style, yet some kind of coding is in my forum.php page that is not in my custom php page, and that "something" is what I am inquiring about Thanks again, Jack |
#1016
|
||||
|
||||
Quote:
|
#1017
|
|||
|
|||
Quote:
I don't know. Possibly, yes. We have different-sized thumbnails: tiny, small, medium, large, jumbo (150 px, 400 px, 800 px, 1200 px, and 2500 px). I just use the template, and so maybe there can be some kind of "flexible" coding employed that adjusts??? Thank you. |
#1018
|
||||
|
||||
Quote:
|
#1019
|
|||
|
|||
Quote:
To perform within the models. |
#1020
|
||||
|
||||
The top is php code, so it goes into your php file. The bottom is template code so it goes into your template. But that was in answer to a question and isn't going to help you much unless you understood the original question and what was going on.
|
#1021
|
|||
|
|||
One of the things I noticed on this "custom page" is that photographs which are put on the page do NOT display on Facebook ... whereas they DO display on default vBulletin pages.
For example, if I have a photo on a Forum post, or a Blog Post, or an Article post ... and if I place the URL to that post/article on Facebook ... I get a choice of photo thumbnails to choose from, to associate on Facebook, which includes the photos that I want displayed. But that does not work for this custom page here. When I post the URL of any page I create with this template on FB, my choice of thumbnails only shows the vBulletin Logo or my Avatar ... any photos I post are not available. What do I have to do to change this? When I have a photo on this custom page, and if I post the URL to it, I want my photos to be among the thumbnail choices I have. How can I accomplish this? Thanks, |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|