View Single Post
  #7  
Old 08-09-2011, 05:38 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by jgrietveld View Post
Why can't I just enter code here? I know exactly where i want my forum titles to appear so why do I have to find a Hook and still create a plugin?
Well, the answer really is because the template compiler doesn't allow php - in fact it checks for php code to stop you from doing that. I don't know why that decision was made, but that's the way it is. (There was a mod that allowed you to put php code in a template, but I don't know if it works with the latest versions).

One thing you can do is write an external php script to do what you want, then include it using instructions from the vbulletin manual: https://www.vbulletin.com/docs/html/..._externalfiles . But that's really to allow existing php scripts to be used without rewriting them, and you probably wouldn't want to write new stuff that way.

But you could use the same idea - use that hook location, put in your query instead of the ob_start/ob_end thing, and when you have a variable set, use the preRegister line like in that example. The downside of that is that it will do that work on every page instead of just the page that is using it, but you could get it working then worry about the efficiency later.

Edit: like

PHP Code:
$results $db->query_read("SELECT title FROM " TABLE_PREFIX "forum WHERE forumid = 1");
while (
$forum $db->fetch_array($results))
{
    
// Do something to format the titles
   
$forumtitles .= $forum['title'] . "<BR/>";
}
vB_Template::preRegister('vbcms_page', array('forumtitles' => $forumtitles)); 
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01100 seconds
  • Memory Usage 1,777KB
  • 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_php
  • (1)bbcode_quote
  • (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