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 05-01-2013, 07:11 AM
emath emath is offline
 
Join Date: Sep 2008
Posts: 252
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default register a variable through a hook

hey,

im trying to do a realy simple thing - i just want to register a boolean variable that will be avaible in the "search_threadbit" template .

so ive added the following code with the location of "search_results_thread_process" hook :

PHP Code:
$templater->register_page_templates();
if ( 
strpos($_SERVER['HTTP_REFERER'],'pitronot') !== false ) {
    
$diffPrev['bool']=true;
    
$templater->register('diffPrev'$diffPreview);
}
else {
    
$diffPrev['bool']=false;
    
$templater->register('diffPrev'$diffPreview);

though this gives me an error :

Quote:
Fatal error: Call to a member function register_page_templates() on a non-object in .../packages/vbforum/search/result/thread.php(229) : eval()'d code on line 1
tried to use a class and an object instead of the array, this didnt work neither.

any suggestions?

I`M Sorry, this thread should have been under *vB4 Programming Discussions * please move the thread to this forum .
Reply With Quote
  #2  
Old 05-01-2013, 04:58 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If I'm understanding what you want, then something like this should work:
PHP Code:
if ( strpos($_SERVER['HTTP_REFERER'],'pitronot') !== false ) {
    
$diffPrev['bool']=true;
}
else {
    
$diffPrev['bool']=false;
}  
vB_Template::preRegister('search_threadbit', array('diffPrev' => $diffPrev)); 
Reply With Quote
  #3  
Old 05-01-2013, 05:59 PM
emath emath is offline
 
Join Date: Sep 2008
Posts: 252
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

now i dont get an error though this if :

<vb:if condition="$diffPrev['bool']=true"> 555 </vb:if>

always gives true (even if in the last URL didnt have "pitronot" in it)

and this : {vb:raw $diffPrev.bool} gives nothing .

btw, why do i need to preRegister the variable if its a hook ?

* ofcourse im writing this codes in the search_threadbit template *
Reply With Quote
  #4  
Old 05-01-2013, 06:13 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by emath View Post
now i dont get an error though this if :

<vb:if condition="$diffPrev['bool']=true"> 555 </vb:if>

always gives true (even if in the last URL didnt have "pitronot" in it)
You need to use == instead of = (or don't compare it to true at all, since it's a boolean).


Quote:
and this : {vb:raw $diffPrev.bool} gives nothing .
You don't need the $ there.


Quote:
btw, why do i need to preRegister the variable if its a hook ?
Basically you need to preregister unless you're rendering your own template, in which case you can use register() when you're doing the rendering.
Reply With Quote
  #5  
Old 05-01-2013, 07:23 PM
emath emath is offline
 
Join Date: Sep 2008
Posts: 252
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kh99 View Post
You need to use == instead of = (or don't compare it to true at all, since it's a boolean).




You don't need the $ there.




Basically you need to preregister unless you're rendering your own template, in which case you can use register() when you're doing the rendering.

thanks, working ! your help is appreciated .
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 10:53 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.03697 seconds
  • Memory Usage 2,207KB
  • Queries Executed 13 (?)
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_php
  • (5)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