Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 07-08-2012, 12:24 PM
Kyojii Kyojii is offline
 
Join Date: Jun 2008
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Edit template with hook?

I have a file I would like to include on the editprofile page. Rather than edit all of the templates and include it in every one I thought it would be easier to make a hook that appends it to all of them. However when I tried this for some reason the $headinclude variable gets replaces with only "0".


PHP Code:
if ($_REQUEST['do'] == 'editprofile'){
    
$headinclude += '<script type="text/javascript" src="/includes/bubbles.js"></script>';

PHP Code:
echo htmlspecialchars($headinclude);
echo 
'<br><br><br>';
$headinclude += '<script type="text/javascript" src="/includes/bubbles.js"></script>';
echo 
htmlspecialchars($headinclude); 
Output of above code:
Code:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <base href="" /><!--[if IE]></base><![endif]--> <meta name="generator" content="vBulletin 4.1.7" /> <link rel="Shortcut Icon" href="favicon.ico" type="image/x-icon" /> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta property="fb:app_id" content="343071649037238" /> <meta property="og:site_name" content="" /> <meta property="og:description" content="" /> <meta property="og:url" content="" /> <meta property="og:type" content="website" /> <script type="text/javascript" src="clientscript/yui/yuiloader-dom-event/yuiloader-dom-event.js?v=417"></script> <script type="text/javascript" src="clientscript/yui/connection/connection-min.js?v=417"></script> <script type="text/javascript"> <!-- var SESSIONURL = ""; var SECURITYTOKEN = "1341753294-5bf2ad92bde7df16216e232b4783009f4c143736"; var IMGDIR_MISC = "images/misc"; var IMGDIR_BUTTON = "images/buttons"; var vb_disable_ajax = parseInt("0", 10); var SIMPLEVERSION = "417"; var BBURL = ""; var LOGGEDIN = 504 > 0 ? true : false; var THIS_SCRIPT = "profile"; var RELPATH = "profile.php?do=editprofile"; var PATHS = {forum : ""} // --> </script> <script type="text/javascript" src=""></script> <link rel="alternate" type="application/rss+xml" title="" href="" /> <link rel="stylesheet" type="text/css" href="css.php?styleid=13&amp;langid=1&amp;d=1339672467&amp;td=ltr&amp;sheet=bbcode.css,editor.css,popupmenu.css,reset-fonts.css,vbulletin.css,vbulletin-chrome.css,vbulletin-formcontrols.css," /> <!--[if lt IE 8]> <link rel="stylesheet" type="text/css" href="css.php?styleid=13&amp;langid=1&amp;d=1339672467&amp;td=ltr&amp;sheet=popupmenu-ie.css,vbulletin-ie.css,vbulletin-chrome-ie.css,vbulletin-formcontrols-ie.css,editor-ie.css" /> <![endif]--> 


0
Reply With Quote
  #2  
Old 07-08-2012, 12:30 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Try using .= in place of += .
Reply With Quote
  #3  
Old 07-08-2012, 01:15 PM
Kyojii Kyojii is offline
 
Join Date: Jun 2008
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, that worked.

--------------- Added [DATE]1341760064[/DATE] at [TIME]1341760064[/TIME] ---------------

I have another question, is there a list of what the template variables actually are? I noticed there's template hooks so I tried to use regex to add something after one of the hooks in postbit_legacy however in php it seems the variable $postbit_legacy doesn't exist.
Reply With Quote
  #4  
Old 07-09-2012, 04:54 AM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

postbit_legacy is a template, why would it exist as a variable? And you don't need regex to add something to a template hook, you just use a plugin at parse_templates hook, doing
PHP Code:
$template_hook['template_hook_name'] .= "whatever"
Reply With Quote
  #5  
Old 07-09-2012, 06:41 AM
Kyojii Kyojii is offline
 
Join Date: Jun 2008
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by cellarius View Post
postbit_legacy is a template, why would it exist as a variable? And you don't need regex to add something to a template hook, you just use a plugin at parse_templates hook, doing
PHP Code:
$template_hook['template_hook_name'] .= "whatever"
Yeah, I found this out. I thought it would exist as a variable because $headinclude $header etc do.
Reply With Quote
  #6  
Old 07-26-2012, 06:21 PM
SkyStryder SkyStryder is offline
 
Join Date: Dec 2007
Posts: 33
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was actually trying something like this. There seems to be a problem
if you need to add a vb variable like {vb:raw somedata} in the middle
of "whatever". I tried "string" . {vb:raw somedata} . "string" but that
didn't help. 8-( Hints are greatly appreciated.


Quote:
Originally Posted by cellarius View Post
PHP Code:
$template_hook['template_hook_name'] .= "whatever"
Reply With Quote
  #7  
Old 07-26-2012, 06:25 PM
cellarius's Avatar
cellarius cellarius is offline
 
Join Date: Aug 2005
Posts: 1,987
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can't use template variables in plugins. Plugins are PHP only. You need to use the PHP equivalent of the template variable.
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 03:13 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.03853 seconds
  • Memory Usage 2,225KB
  • 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
  • (1)bbcode_code
  • (5)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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