vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.6 Template Modifications (https://vborg.vbsupport.ru/forumdisplay.php?f=192)
-   -   [How to] Add custompages to your forum (https://vborg.vbsupport.ru/showthread.php?t=124749)

utw-Mephisto 08-22-2006 10:00 PM

[How to] Add custompages to your forum
 
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

http://img168.imageshack.us/img168/4764/2pi5.th.jpg

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

http://img168.imageshack.us/img168/9233/1ao2.th.jpg

Now add a new Page which is Template Based

http://img168.imageshack.us/img168/2752/2ms5.th.jpg

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

http://img168.imageshack.us/img168/1...tledso5.th.jpg

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

http://img169.imageshack.us/img169/4...tledht8.th.jpg

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


http://img169.imageshack.us/img169/3...tledep9.th.jpg

Selene 08-23-2006 11:41 PM

excellent and very useful!

thanks for it.

tested and worked

utw-Mephisto 08-23-2006 11:42 PM

Glad to hear :) Its a shame that this is not documented even though its a build in option :)

Selene 08-24-2006 10:34 AM

utw, just one question tho, what i want that page to be viewed by Registered Members only. Is that possible?

Benedict 08-24-2006 10:36 AM

That's a great hack thank you.

I too would be interested in knowing if i can modify this to show for selected usergroups :)

utw-Mephisto 08-24-2006 10:47 AM

Quote:

Originally Posted by Selene
utw, just one question tho, what i want that page to be viewed by Registered Members only. Is that possible?

You could add an <if> condition to achieve it

Code:

<if condition="$bbuserinfo['usergroupid'] == '2'">
</if>

where the 2 is the usergroup id which is in this example registered user.

If you would like to speficy or usergroupids use

Code:

<if condition="$bbuserinfo['usergroupid'] == '5' OR $bbuserinfo['usergroupid'] == '6' OR $bbuserinfo['usergroupid'] == '7'">
and so on .. the complete 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['usergroupid'] == '6'">
<center>
<iframe src="http://www.google.com" width="80%" height="400"></iframe></center>
</if>
$footer
</body>
</html>

However, I am not a professional if it comes to <if> stuff. In this example you simply would not see the iframe instead of getting an error and you need to specify each usergroup id .. if you specify registered user, you still need to add administrator as well otherwise you won't be able to see it either ..

There is another solution for this, I simply don't know it... but lemme browse a bit here and on vb.com - I might come up with a solution ...

Benedict 08-24-2006 10:58 AM

That looks good enough for me. Thank you for the clear and thorough response :D

utw-Mephisto 08-24-2006 11:01 AM

Not good for me though - I NEED to know :D :D :D

I will keep you posted of course ..

utw-Mephisto 08-24-2006 11:08 AM

Ok, if you use

<if condition="$bbuserinfo[userid]">

instead, you don't have to specify all usergroup ids, still no error though ..

Selene 08-24-2006 11:53 AM

Ok i wanted guests not to view that page.

So i did:

Quote:

<if condition="$bbuserinfo['usergroupid'] == '2'">

(my code)

</if>
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!


All times are GMT. The time now is 09:25 AM.

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.02308 seconds
  • Memory Usage 1,761KB
  • 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
  • (10)bbcode_code_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (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