PDA

View Full Version : Ad after first post


The Geek
03-08-2007, 05:05 PM
Getting GAB to appear in between x amount of posts is simple and easy.

This tutorial assumes that you have GAB set up and configured (including the banner you want to show).

1. Create a plug in.

Since posts are created in a private function within vB, you must scope $GAB_ads. That way, your $GAB_ads[x] variable will be available in your postbits. We will also scope $counter which increases by one for each visible post on that page.

go to admincp->Plugins & Products->Add new plugin

Product: vBulletin (or GAB)
Hook Location: postbit_display_start
Title: GAB ad between posts
Plugin PHP code:

global $GAB_ads, $counter;

Plugin is active: Yes

2. Modify your postbit template (this is the postbit or postbit_legacy template, whichever one you are using).

We need to stick a conditional at the end of the postbit that says 'if this is the first post, then show $GAB_ads[x]. Note that you will need to change the x in $GAB_ads[x] to denote the billboard you are using (see admincp->gab->scripts->MASTER script to see which billboard is assigned). Also note that you can change the $counter == 1 in the statement below to denote where to show the banner. For instance if it were change to 3, then a banner would appear after the third post on the page.

Place the following HTML at the very end of your postbit:


<if condition="$counter == 1"><if condition="THIS_SCRIPT!='private'"><div style="padding-top:5px">$GAB_ads[x]</div></if></if>


Note that I have put in a provision so that the banner will NOT appear after a private message. Depending on your style and the size of the banners, the sidebar in the usercp can whack out the look.

HTHs!

phlogiston
04-12-2007, 12:39 AM
I spent half an hour trying to figure this myself then two minutes searching vbgeek.com for an answer and about thirty seconds implementing this.

Works like a charm :D

MotMann
01-30-2008, 11:37 PM
And what i must do, that the banner after the third Post displayed again?

Hoffi
02-10-2008, 09:13 AM
You did not use $counter if you use this if-Condition insted of the two from thegeek.:

<if condition="THIS_SCRIPT == 'showthread' AND !$GLOBALS['FIRSTPOSTID']">

powerful_rogue
09-17-2008, 12:39 PM
Ive got this working so it shows after the 1st post. What would I need to add to get ti to show again after the last post?

Morgan
09-17-2008, 03:23 PM
Untested but instead of FIRSTPOSTID try using LASTPOSTID in its place.

powerful_rogue
09-17-2008, 03:31 PM
Is that as well as or instead of - <if condition="$counter == 1"><if condition="THIS_SCRIPT!='private'"><div style="padding-top:5px">$GAB_ads[x]</div></if></if>

Morgan
09-17-2008, 03:46 PM
On second thought, LASTPOSTID isn't known until after all the postbits have been processed, so the best you can probably do is to add $GAB_ads[X] to the vB ad_showthread_beforeqr template.

ichatfilipina
03-10-2009, 09:42 AM
$GAB_ads[X] - dont use capital X.. should use small letter x like this [x]. Remember: case-sensitive.