vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   How to create your own vBulletin-powered page! (uses vB templates) (https://vborg.vbsupport.ru/showthread.php?t=62164)

Sergio68 07-24-2008 06:04 PM

Quote:

Originally Posted by Stryker412 (Post 1583225)
How can you get your page to auto adapt to the current theme a user is running (ie. font and panel colors)?

Be careful, this is not the correct and safe way to do it, but if you build your test.php page like this :

PHP Code:

<?php

error_reporting
(E_ALL & ~E_NOTICE); 
define('NO_REGISTER_GLOBALS'1); 
define('GET_EDIT_TEMPLATES'true); 
define('THIS_SCRIPT''releases'); 
$phrasegroups = array(); 
$specialtemplates = array(); 
$globaltemplates = array(); 
$actiontemplates = array(); 
// require_once('./includes/vba_cmps_include_template.php');
// chdir('/srv/www/www.bodyweb.it/forums/');
 
require_once('./global.php'); 
// $vbulletin->options['homeurl'];
        
$navbits = array(); 
        
$navbits[''] = 'Prodotti'
        
$navbits construct_navbits($navbits); 
        eval(
'$navbar = "' fetch_template('navbar') . '";'); 
      
//  eval('print_output("' . fetch_template('prodotti') . '");'); 

     // **** include code
    //  **** Template HTML echo instead of   eval template and plugin ****

      
echo"
      
$stylevar[htmldoctype]
<html dir='
$stylevar[textdirection]' lang='$stylevar[languagecode]'>
<head>
<title>
$vboptions[bbtitle] -  Prodotti</title>
$headinclude
<script type='text/javascript' src='./forums/clientscript/vbulletin_global.js'></script>
<script type='text/javascript' src='./forums/clientscript/vbulletin_menu.js '></script>
</head>
$header
$navbar


//  **** more code.


$footer
</body>
</html>"
;
      
      
       
      
?>

You just need one page, you can also include part of header template and footer template

Digital Jedi 07-24-2008 10:49 PM

Quote:

Originally Posted by Sergio68 (Post 1583275)
Be careful, this is not the correct and safe way to do it, but if you build your test.php page like this :

PHP Code:

<?php

error_reporting
(E_ALL & ~E_NOTICE); 
define('NO_REGISTER_GLOBALS'1); 
define('GET_EDIT_TEMPLATES'true); 
define('THIS_SCRIPT''releases'); 
$phrasegroups = array(); 
$specialtemplates = array(); 
$globaltemplates = array(); 
$actiontemplates = array(); 
// require_once('./includes/vba_cmps_include_template.php');
// chdir('/srv/www/www.bodyweb.it/forums/');
 
require_once('./global.php'); 
// $vbulletin->options['homeurl'];
        
$navbits = array(); 
        
$navbits[''] = 'Prodotti'
        
$navbits construct_navbits($navbits); 
        eval(
'$navbar = "' fetch_template('navbar') . '";'); 
      
//  eval('print_output("' . fetch_template('prodotti') . '");'); 

     // **** include code
    //  **** Template HTML echo instead of   eval template and plugin ****

      
echo"
      
$stylevar[htmldoctype]
<html dir='
$stylevar[textdirection]' lang='$stylevar[languagecode]'>
<head>
<title>
$vboptions[bbtitle] -  Prodotti</title>
$headinclude
<script type='text/javascript' src='./forums/clientscript/vbulletin_global.js'></script>
<script type='text/javascript' src='./forums/clientscript/vbulletin_menu.js '></script>
</head>
$header
$navbar


//  **** more code.


$footer
</body>
</html>"
;
      
      
       
      
?>

You just need one page, you can also include part of header template and footer template

All you really need to do is make a template for each respective style on your forum, using this same tutorial.

Sergio68 07-25-2008 02:16 PM

Quote:

Originally Posted by Digital Jedi (Post 1583452)
All you really need to do is make a template for each respective style on your forum, using this same tutorial.

Ok, and how to include and execute PHP code into the template?

Digital Jedi 07-25-2008 04:17 PM

No idea. I'm just responding the to the question about how to have a users style show up on that page. In fact, if you have multiple styles, you have to make a template for each style, otherwise you get a blank page.

amcd 07-26-2008 06:57 AM

If you have multiple styles, ideally they should be in a heirarchy. Just add the template to the top level and it will be inherited by child styles.

The question of how to execute php from templates is being asked frequently. The answer is that you cannot. It is not supposed to be that way. The primary objective of templating is to separate logic (php) from presentation (templates).

Search for my posts in this thread. I have explained the whole thing with code examples.

Sergio68 07-26-2008 11:57 AM

Quote:

Originally Posted by amcd (Post 1584461)
If you have multiple styles, ideally they should be in a heirarchy. Just add the template to the top level and it will be inherited by child styles.

The question of how to execute php from templates is being asked frequently. The answer is that you cannot. It is not supposed to be that way. The primary objective of templating is to separate logic (php) from presentation (templates).

Search for my posts in this thread. I have explained the whole thing with code examples.

I knew, it was a rhetorical question, this is why I was looking for shortcuts.
By the way, you can execute code in a plugin but it's a p.i.t.a.

Goomzee 07-27-2008 06:54 AM

this is my php file code

Quote:

<?php

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

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'mk1'); // 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(
'MK1',
);

// pre-cache templates used by specific actions
$actiontemplates = array(

);

// ######################### REQUIRE BACK-END ############################

chdir('/home/username/public_html/content/mkgames/mk1/');
require_once('./global.php');


// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################

$navbits = array();
$navbits[$parent] = 'MK1';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('TEST') . '");');

?>
__________________
a

and this my Template Code

Quote:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle]</title>
$headinclude
</head>
<body>
$navbar

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="tcat"><center>Mortal Kombat Shaolin Monks Play Station2 Guide</center>
</td>
</tr>
</table>
<p><strong>Unlock Mortal Kombat II</strong><br>

$footer
</body>
</html>
Templaet Naem is MK1

but nothing working since 4 month

amcd 07-27-2008 07:06 AM

Code:

$navbits = array();
$navbits[$parent] = 'MK1';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('TEST') . '");');

change this to

Code:

$navbits = array();
$navbits[$parent] = 'Mortal Combat blah blah';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('MK1') . '");');


Goomzee 07-28-2008 03:31 AM

i did but not working

Digital Jedi 07-28-2008 04:37 AM

Quote:

Originally Posted by Goomzee (Post 1585085)
this is my php file code




and this my Template Code



Templaet Naem is MK1

but nothing working since 4 month

PHP Code:

 eval('print_output("' fetch_template('TEST') . '");'); 

You never changed TEST on this line to your template name.


All times are GMT. The time now is 05:54 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06735 seconds
  • Memory Usage 1,781KB
  • 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
  • (2)bbcode_code_printable
  • (3)bbcode_php_printable
  • (7)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (4)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