Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #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
  #2  
Old 11-22-2011, 02:01 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You need to add "global $bootstrap" where you are including global.php.
Reply With Quote
  #3  
Old 11-22-2011, 02:04 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sent you a PM - for some reason when I try to post my response the post is being moderated.
Reply With Quote
  #4  
Old 11-22-2011, 02:28 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here kh's post:
Quote:
I think the problem is that you need global \$ bootstrap in the function befor eyou include global\ . php. Tried to post this in the thread but for some reason my posts are being moderated.
Wow... it works.

BUT... now I seem to have the template, but the template parse function does some really weird stuff i only can explian via screenshot. Look at this...

Attachment 134626

This happens as soon as I include the $templater->parse() call, no matter if it actually outputs something or not.

My code now is like this:

PHP Code:
global $vbulletin;

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

//print $str; 
With print $str being active, I get the exact same result, only with the toplinks bar rendered at the correct position (as it should be) with this code mess on the site still...

I have no idea where this could come from. maybe an issue with output buffering? But why dump all the php code un-rendered? Is this maybe a vbulletin-related bug?
Reply With Quote
  #5  
Old 11-22-2011, 05:58 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Approved posts. I'm not sure what was catching those posts. :/
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 09:56 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.05292 seconds
  • Memory Usage 2,240KB
  • Queries Executed 12 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_html
  • (4)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete