View Single Post
  #1  
Old 11-22-2011, 01:19 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 3rd party site including vbulletin framework can't display templates

Hey

I'm trying to create my own page with vbulletin vars being available according to this guide:
https://vborg.vbsupport.ru/showthread.php?t=228112

I'm using a cms on the domain root http://example.tld/ and the forum being at http://example.tld/forum

I created a "bridge class" which gets included to initialize the vB bridge:

PHP Code:
class vBBridge
{
        static private 
$vb_name 'xxx';
        static private 
$vb_user 'xxx';
        static private 
$vb_pass 'xxx';
        static private 
$vb_table 'vb3_session';
        static private 
$vb_usertable 'vb3_user';
        static private 
$vb_cookie 'bb_sessionhash';

        static private 
$vb_db null;

        static private 
$vb_sessioninfo null;
        static private 
$vb_userinfo null;

        static public 
$precache_tpl = array();
        static public 
$precache_phrase = array();
        static public 
$precache_datastore = array();
        static public 
$precache_tpl_special = array();

        static public function 
init_vB() {
            
define('THIS_SCRIPT''portal');
            
define('CSRF_PROTECTION'true);

            
// ################### PRE-CACHE TEMPLATES AND DATA ######################
            // get special phrase groups
            
$phrasegroups self::$precache_phrase;

            
// get special data templates from the datastore
            
$specialtemplates self::$precache_datastore;

            
// pre-cache templates used by all actions
            
$globaltemplates self::$precache_tpl;

            
// pre-cache templates used by specific actions
            
$actiontemplates self::$precache_tpl_special;

            
// change this depending on your filename
            
chdir ('./forum');
            require_once(
'./global.php');
            
chdir ('../');
        }

So far so good.

the init_vB() function gets called somewhere down the road, inside the cms like this:

PHP Code:
include_once('./lib/vbbridge.class.php');

vBBridge::$precache_tpl = array('cms_toplinks');
vBBridge::init_vB(); 
after this call, I can use the $vbulletin var everywhere, so this works.

BUT:

now I'm trying to get a simple vbulletin template, "cms_toplinks".
To accomplish this, my test code looks like this:

PHP Code:
global $vbulletin;

$templater vB_Template::create('cms_toplinks');
$templater->register_page_templates();
$str $templater->render();

var_dump($str); 
[using print_output($templater->render()) as suggested in the guide gives me an error]

The output in the CMS is this:

HTML Code:
string(74) "<!-- BEGIN TEMPLATE: cms_toplinks -->

<!-- END TEMPLATE: cms_toplinks -->"
So the vb framework is loaded, but it doesn't find my template. Why?

I created the template with the same name (yes, case-sensitive) as a child template to the MASTER-STYLE as suggested in the guide, but still. Doesn't find the template.

Any ideas?
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01281 seconds
  • Memory Usage 1,805KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_html
  • (3)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete