PDA

View Full Version : best way to add a block at the top of payments page?


EvilArcana
06-25-2016, 01:13 AM
I'm wanting to add a blockhead and a blockbody above the payments bits (active subscriptions and available subscriptions). Whats the best way to go about this using the plugins system and hooks? I don't want to modify the templates or php if I don't have to.

MarkFL
06-25-2016, 01:21 AM
What I would likely do is create a custom template, and have that template rendered via a plugin at a template hook.

If it is a simple block, you could consider simply having the HTML rendered at the template hook via a plugin, without creating a custom template.

There should be no need to hack your templates or core files. :)

EvilArcana
06-25-2016, 01:22 AM
Ok, sounds promising...how do I hook it into the payments page?

MarkFL
06-25-2016, 01:54 AM
Ok, sounds promising...how do I hook it into the payments page?

I don't use paid subscriptions on my site...so I will have to guess a bit here. I don't see a template hook in the "subscription" template, so you would likely have to use the hook "parse_templates" and a condition such as:

if (THIS_SCRIPT === 'payments')
{
$above_payments_block = 'Block HTML goes here...';
$template_name = 'navbar';
$t_temp = $vbulletin->templatecache[$template_name];
$t_temp = rtrim($t_temp, ";");
$t_temp .= " . \$template_hook['above_payments'];";
$vbulletin->templatecache[$template_name] = $t_temp;
$template_hook['above_payments'] .= $above_payments_block;
}

You would store the HTML, either raw or by rendering a template, into the variable "$above_payments_block", and then a custom template hook is added to the bottom of the "navbar" template to which you can add your block.

I will be glad to assist you step by step to get this going, or if you prefer I can come to your site and set this up, which would require you to set up a temporary admin account for me, and then send the login credentials via PM. :)