vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=242)
-   -   [HOW TO - vB4] Create your own vBulletin page (https://vborg.vbsupport.ru/showthread.php?t=228112)

thunderclap82 07-15-2011 05:34 PM

Thanks for the suggestion, but I get:

Parse error: syntax error, unexpected '"'

I tried it in the code starting the form, as well as by the submit button.

kh99 07-15-2011 05:52 PM

That could be because I'm an idiot and I did it to you again - I got the tags backward. I fixed it above if you want to try again. (This time I actually tried it myself).

thunderclap82 07-16-2011 04:17 AM

Quote:

Originally Posted by kh99 (Post 2220931)
That could be because I'm an idiot and I did it to you again - I got the tags backward. I fixed it above if you want to try again. (This time I actually tried it myself).

That did the trick! Thank you so much for your help!

EquinoxWorld 07-18-2011 01:44 AM

Hello Lynne, sorry if this is off topic but is there any way anyone can point me in the right direction to be able to add options to these custom pages that we can control through the admin panel? I can't seem to find any documentation on that. I know how to add the setting group via debug mode through admin panel but that's as for as I go, I don't know how to implement them into my script. Any help or guidance to implement that into my custom pages would be very helpful. Thanks for your time everyone.

Lynne 07-18-2011 02:41 AM

Quote:

Originally Posted by EquinoxWorld (Post 2221740)
Hello Lynne, sorry if this is off topic but is there any way anyone can point me in the right direction to be able to add options to these custom pages that we can control through the admin panel? I can't seem to find any documentation on that. I know how to add the setting group via debug mode through admin panel but that's as for as I go, I don't know how to implement them into my script. Any help or guidance to implement that into my custom pages would be very helpful. Thanks for your time everyone.

Add options? That is all via php code. This isn't a tutorial about php. You'll need to post your own thread with a statement about what you want to do and with all your code in order for someone to help you out.

River J 07-18-2011 02:45 AM

Quote:

Originally Posted by Lynne (Post 1915364)
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());

?>

- Be sure to change 'TEST' to the actual template name (WARNING: the template name is CASE SENSITIVE!!!), and change 'test' to the filename or a unique name for the page. Also, change 'Test Page' and 'My Page Title' to whatever you want to show in the navbits, such as 'Viewing Member Profile' (just an example).

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

how would you put forums in there if you wanted them not to be visible on the main forum homepage but you wanted to show them there?

Lynne 07-18-2011 02:50 AM

You would put the code to put the forums in there. You need to be able to do some php if you want to create a php page. The code for forums is in the forum.php page. If you don't want forums to show on the main page, set the display value to 0.

River J 07-18-2011 03:12 AM

Quote:

Originally Posted by Lynne (Post 2221767)
You would put the code to put the forums in there. You need to be able to do some php if you want to create a php page. The code for forums is in the forum.php page. If you don't want forums to show on the main page, set the display value to 0.

Exactly what is the code only for the forums to show just for a section like this http://puu.sh/3r2k
in the forum.php? Also, where would I put that code in the test.php file above?

Lynne 07-18-2011 03:27 AM

Quote:

Originally Posted by River J (Post 2221771)
Exactly what is the code only for the forums to show just for a section like this http://puu.sh/3r2k
in the forum.php? Also, where would I put that code in the test.php file above?

That is really not something for this tutorial and you should post about what you want with a link to your forum and images of what you want in your own thread.

River J 07-18-2011 06:07 AM

Quote:

Originally Posted by Lynne (Post 2221775)
That is really not something for this tutorial and you should post about what you want with a link to your forum and images of what you want in your own thread.

alright i made a thread in general forums for vb4


All times are GMT. The time now is 11:23 PM.

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.01812 seconds
  • Memory Usage 1,770KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (1)bbcode_html_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete