vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   $forumid variable in $Globals for postbit,forumdisplay,forumhome,headerinclude,navba r (https://vborg.vbsupport.ru/showthread.php?t=294853)

cellow 02-07-2013 11:03 AM

$forumid variable in $Globals for postbit,forumdisplay,forumhome,headerinclude,navba r
 
Hi,

our forum get monthly new subforums. and at the moment we define where and to who we will show our ads (which are located in postbit_legacy, forumhome, forumdisplay, showthread, header, headerinclude, footer, navbar templates) by template conditionals.

but everytime a new subforum created we have to update the array $GLOBALS['forumid'] all conditionals with the new forumid.

1.
to save time, we are thinking of adding a "$show_ads_forumid_variable" to somewhere and use it the conditionals, so we dont need always to update all conditionals with the new forumid.

2.
we put in the forum-options (forum-manager) a field like "show ads (yes/no)", so all templates in this forum will not show the ads if no-> selected....

i will be happy, when somebody could help me with this issue out, i am also will to pay for it...

thank for you...

kh99 02-07-2013 11:15 AM

You could create a plugin using hook location parse_templates and code something like this:
Code:

global $show, $forumid;
if (isset($forumid) AND in_array($forumid, array(1, 2, 3)))
{
  $show['ads_forumid_variable'] = 1;
}


then change all your template conditions to be:

Code:

<if condition="$show['ads_forumid_variable']">

if you wanted to get fancy you could make the forum list a field in the settings, or you could even make it an option when creating a forum.

cellow 02-07-2013 12:19 PM

Thank you Kevin.

a) work this plugin also with conditions in postbit_legacy template?
b) in forums with the forumid 1, 2, 3, the ad will shown or not shown, if i use <if condition="$show['ads_forumid_variable']"> in the postbit_legacy template

kh99 02-07-2013 12:22 PM

Quote:

Originally Posted by cellow (Post 2402619)
Thank you Kevin.

a) work this plugin also with conditions in postbit_legacy template?


I haven't tried it, but I thought it would. Are you asking because it doesn't work in postbit_legacy?



Quote:

b) in forums with the forumid 1, 2, 3, the ad will shown or not shown, if i use <if condition="$show['ads_forumid_variable']"> in the postbit_legacy template
It should show the ads in forumid 1, 2, 3.

cellow 02-07-2013 12:26 PM

ah ok, so if i wouldnt like to show, i should use

PHP Code:

global $show$forumid;
if (isset(
$forumid) AND !in_array($forumid, array(123)))
{
   
$show['ads_forumid_variable'] = 1;


so the ad will not shown in forumids 1,2,3 ....

curiously the ads also not shown in forumhome ... although i just give some forumids in the plugin...

postbit_legacy doesnt work :(

kh99 02-07-2013 12:31 PM

I think froumhome does not have an associated forumid, so if you want them to show in forumhome, maybe try this:

Code:

global $show, $forumid;
if (!isset($forumid) OR !in_array($forumid, array(1, 2, 3)))
{
  $show['ads_forumid_variable'] = 1;
}


I'm not sure why it wouldn't work in postbit_legacy. What did you have in that template before?

cellow 02-07-2013 12:38 PM

my aim is the set the forumids in the plugin where i dont want to show the ads... so how my final plugin code should look like, if i use <if condition="$show['ads_forumid_variable']"></if> in the templates...


in postbit_legacy it worked before only if i used just 1 forumid like "$forumid != 3" but with arrays never worked for me ...
i tried:
$thread['forumid']
$GLOBALS['forumid']
$foruminfo['forumid']
$forum['forumid']

:((

kh99 02-07-2013 01:11 PM

I think you should be able to use the same condition (checking $show[''ads_forumid_variable']) in all places, if the plugin code is correct. It seems like it should work even in postbit_legacy.

I tested this: using hook parse_templates and this code:

Code:

global $show, $forumid;
if (!isset($forumid) OR !in_array($forumid, array(1, 3, 4)))
{
  $show['ads_forumid_variable'] = 1;
}


Then in postbit_legacy template I have:

Code:

<if condition="$show['ads_forumid_variable']">
Show Ads!!!
</if>


and I find that the "Show Ads!" appears in forum 2 but not in others.

cellow 02-07-2013 01:32 PM

thanks kevin for ur support so far!

it works with all other templates beside postbit_legacy...

i have this condition:
<if condition="(($post[postcount] % $vboptions[maxposts] == 1)) AND ($show['member']) AND $show['ads_forumid_variable']">

usually it should show for members who are not visiting the forum (ids in plugin) in the first post an ad.
but it doesnt...

i allready disabled and flushed all caching stuff (xcache,etc..)

maybe there is a correlation within other plugins? i select "1" as "order" for your plugin ... but it doesnt help...

i used andreas, template modification system which hooks starts at "template_compile" ... maybe this makes the problem?

is there any other location where i can hook your plugin?

Simon Lloyd 02-07-2013 02:17 PM

I've created this https://vborg.vbsupport.ru/showthread.php?t=286403 which may help, really simple and does the job (pretty much) :)


All times are GMT. The time now is 05:00 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.02312 seconds
  • Memory Usage 1,747KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (5)bbcode_code_printable
  • (1)bbcode_php_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete