Ðăng Nhập

View Full Version : Tạo một trang chỉ có header và navbar?



spitfire1984
16-05-2010, 03:53 AM
Hi, làm ơn cho mình hỏi mình muốn tạo một trang cho vbb 4.0.3 chỉ có header và navbar thì làm thế nào ? Cảm ơn nhiều nha ;-)

mình tìm thấy rồi, post lại để nhỡ có người cũng cần ^^

************************************************** **************
I have seen alot of people asking how to do this here at vbteam
Credits to Gary King

This will include the header, footer, and the user permissions system as well!


I'm going to give you a demo page but you can easily modify the contents of the page by changing the template to your liking.

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

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

// DEFINE IMPORTANT CONSTANTS
define('THIS_SCRIPT', 'test'); // change this depending on your filename
define('CSRF_PROTECTION', true);

// 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 = construct_navbits(array('' => 'Test Page'));
$navbar = render_navbar_template($navbits);

$templater = vB_Template::create('TEST');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', 'Test Page');
print_output($templater->render());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:



{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}</title>
{vb:raw headinclude}
</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>
All done
Now check it out by going to test.php
If you like and use it ..hit the thanks button please

Edit:: Updated I found this has been updated by Gary King also for vb4 So credits goto him since i used his original script with small edits.

Added

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:


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:


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).