Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 06-27-2012, 08:39 PM
Scanu's Avatar
Scanu Scanu is offline
 
Join Date: Nov 2010
Posts: 829
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Problem with inserting a variable into a template

hello i have this code and works great but i have to add "{vb:raw login_panel}" to the header template
PHP Code:
$templater vB_Template::create('login_panel_html'); //Create html template
$login_panel $templater->render(); //saving template on a variable
$templater vB_Template::create('login_panel_css'); //Create css template
$login_panel_css $templater->render(); //saving template on a variable
$templater vB_Template::create('login_panel_javascript'); // Create javascript template
$login_panel_javascript $templater->render(); //saving template on a variable
$login_panel $login_panel.$login_panel_css.$login_panel_javascript//save templates variables on one var
vB_Template::preRegister('header',array('login_panel' => $login_panel)); //registering the variable variable 
What i'm trying to do is to put login_panel var on the header template without have to manually add it, so i tried this codes but it doesn't works
PHP Code:
$templater vB_Template::create('login_panel_html'); //Create html template
$login_panel $templater->render(); //saving template on a variable
$templater vB_Template::create('login_panel_css'); //Create css template
$login_panel_css $templater->render(); //saving template on a variable
$templater vB_Template::create('login_panel_javascript'); // Create javascript template
$login_panel_javascript $templater->render(); //saving template on a variable
$login_panel $login_panel.$login_panel_css.$login_panel_javascript//save templates variables on one var
$vbulletin->templatecache['header'] .= $login_panel//Adding templates var on the header 
It says "Parse error: syntax error, unexpected $end in /includes/class_core.php(4633) : eval()'d code on line 69"
someone that could help me? Or has another way to do it?
Reply With Quote
  #2  
Old 06-27-2012, 09:26 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I think the problem is that the template cache contains php code, and you're tacking on html and css, which doesn't run as php code of course. Try this:


PHP Code:
$vbulletin->templatecache['header'] .= ' $final_rendered .= \'' addcslashes($login_panel.$login_panel_css.$login_panel_javascript"'\\") . '\'; '
Reply With Quote
  #3  
Old 06-28-2012, 07:01 AM
Scanu's Avatar
Scanu Scanu is offline
 
Join Date: Nov 2010
Posts: 829
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It works great but now i'm trying to add it to the begin of the template
I tred this but doesn't work
PHP Code:
$test ' $final_rendered .= \'' addcslashes($login_panel"'\\") . '\'; ';
$vbulletin->templatecache['header'] = $test.$vbulletin->templatecache['header']; 
Thanks for your great support
Reply With Quote
  #4  
Old 06-28-2012, 11:03 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can look at the compiled template in the database: the problem is that it starts like this:

Code:
$final_rendered = '<div class="above_body">

So that wipes out anything you add to the $final_rendered variable before that. So try this instead:

Code:
$replace = '$final_rendered = \'' . addcslashes($login_panel.$login_panel_css.$login_panel_javascript, "'\\") . '\' . ';  
$vbulletin->templatecache['header'] = substr_replace($vbulletin->templatecache['header'], $replace, 0, 17);
Reply With Quote
  #5  
Old 06-28-2012, 11:23 AM
Scanu's Avatar
Scanu Scanu is offline
 
Join Date: Nov 2010
Posts: 829
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

works great thanks
Reply With Quote
Reply

Thread Tools
Display Modes

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 11:06 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.03849 seconds
  • Memory Usage 2,209KB
  • Queries Executed 11 (?)
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
  • (2)bbcode_code
  • (4)bbcode_php
  • (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