Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 06-18-2011, 05:58 AM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Adding to $ad_location

Right... So there's no template hook right where I really want to add some stuff. There IS, however, a {vb:raw ad_location.global_header1} seated nicely where it would be perfect for me to add what it is I want to add.

What I've been doing for the past few years is just modifying the header template to stick in my own variable[s], but that gets tedious for two reasons: one, when I download a Style that has a modified header template, it doesn't inherit the change from the Parent Style I stick all my styles under, so I have to manually edit it (in addition, I have to do that each time I update the styles, for multiple skins, and it sucks); two, when I update vBulletin, if there's any modifications to the header template, sometimes the template merge will fail, and I'll be stuck with an "old" header template.


Okay, enough with my reasoning, now onto what I want to do, and what trouble I'm having!


I have a plugin on the parse_templates hook (which is where I usually put my plugins that add to the $template_hook variable) that adds my information to the variables I manually stuck into that header template.

I've tried, a few times, to add to the $ad_location variable, with no success in anything actually showing.

PHP Code:
  global $ad_location;
  
$ad_location['global_header1'] .= $cba_main
It just acts as if I did nothing. :<



Could someone tell me if there's some kind of magic spell I have to recite to use the $ad_location asI would the $template_hook?
Reply With Quote
  #2  
Old 06-18-2011, 06:25 AM
TheLastSuperman's Avatar
TheLastSuperman TheLastSuperman is offline
Senior Member
 
Join Date: Sep 2008
Location: North Carolina
Posts: 5,844
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

What are you trying to add? Why not use the Ad Manager and insert what you want, this way it auto-inserts that into all of your styles and you don't need to edit the same ad template in every style.

.
Reply With Quote
  #3  
Old 06-18-2011, 06:34 AM
Sarteck's Avatar
Sarteck Sarteck is offline
 
Join Date: Mar 2008
Posts: 304
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, correct me if I'm wrong (since I've never used the Ad manager, I very well could be), but using the Ad Manager would not allow me to add custom content pulled from my database, modified by PHP, etc. etc., right?


To get into the gory details of it:
PHP Code:
require_once(DIR '/includes/class_bbcode.php');
$cba_announcements '';
$cbaids = array();


$cba_results $vbulletin->db->query_read("SELECT announcementid, cbmp_order, content, title FROM cbmp_tabs_content WHERE enabled=1 ORDER BY cbmp_order");
while (
$cba $vbulletin->db->fetch_array($cba_results))
{
  
$cbaids[] = $cba['announcementid'];
  
$cba_parser =& new vB_BbCodeParser($vbulletinfetch_tag_list());
  
$cba['content'] = $cba_parser->do_parse($cba['content']);
  
$cba['content'] = str_replace("'",'\\\'',$cba['content']);
  
$cba['content'] = str_replace("\n",'',$cba['content']);
  
$cba['content'] = str_replace("\r",'',$cba['content']);
  
$cba['title'] = $cba_parser->do_parse($cba['title']);
  
$cba['title'] = str_replace("'",'\\\'',$cba['title']);
  
$cba_jsbit_template vB_Template::create('cba_announcement_jsbit');
  
$cba_jsbit_template->register('cba'$cba);
  
$cba_announcements .= $cba_jsbit_template->render();
  unset(
$cba_jsbit_template);
}
$cba_id=$cbaids[rand(0,intval(sizeof($cbaids)-1))];

$cba_main_template vB_Template::create('cba_main');
$cba_main_template->register('cba_announcements'$cba_announcements);
$cba_main_template->register('cba_id'$cba_id);
$cba_main $cba_main_template->render(); 
That's the code I wrote. It adds in a basic ad-like slider, but the "ads" are announcements the leaders of the "Guilds" at my site have added. I need to be able to add that stuff in that cba_main template I created, since it handles the JavaScript for it and everything.



This is going to sound silly, but another reason I haven't tried the Ad Manager is that it's never worked for me. X3 It always loads a blank, gray page. (I've never bothered trying to fix it, because I never wanted to add any ads, heh.)
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 07: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.03973 seconds
  • Memory Usage 2,191KB
  • 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_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (3)post_thanks_box
  • (3)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit_info
  • (3)postbit
  • (3)postbit_onlinestatus
  • (3)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