View Full Version : RESOLVED: Calling a Variable from Plugin in VB4
vaskies
12-17-2009, 02:11 AM
I'm trying to call a variable from a plugin in a stock template. Is it necessary I render the variable in its own custom template first, then call it inside the stock template using {vb:raw $mytemplate}? I thought this seemed superfluous and wanted to be sure as I just finished reading over https://vborg.vbsupport.ru/showthread.php?t=228078 .
Lynne
12-17-2009, 02:37 AM
You may call a varialbe in a stock template, however you much register it for use in that template first. If it's a stock template, then you may have to preregister it if you aren't going to use a template_hook or a variable array that is already registered.
vaskies
12-17-2009, 03:53 AM
I pre-register the variables I'm using in the stock template inside the plugin itself, correct? For instance, I have an array named $array that I'm trying to use in the FORUMHOME template.
In the plugin:
$var1 = "variable one";
$var2 = "variable two";
$array = array($var1, $var2);
vB_Template::preRegister('FORUMHOME', $array);
In FORUMHOME template:
{vb:raw array.var1}
Nothing outputs, though.
Lynne
12-17-2009, 04:10 AM
I am pretty sure that $array is a reserved word and you may not use it as a variable name.
And then I think you want to do something more along this line:
$yourarray = array('var1' => $var1, 'var2' => $var2);
Then you may use {vb:raw var1} and {vb:raw var2} in the template.
consolegaming
12-17-2009, 05:34 AM
And the plugin needs to be assigned to the parse_templates hook I believe or at least the global hook wouldn't work for me.
vaskies
12-17-2009, 05:52 AM
I am pretty sure that $array is a reserved word and you may not use it as a variable name.
And then I think you want to do something more along this line:
$yourarray = array('var1' => $var1, 'var2' => $var2);
Then you may use {vb:raw var1} and {vb:raw var2} in the template.
Ah, thank you. I was unaware keys were necessary. I'm new to PHP and never have had the occasion to use a key value pair. Good to know! Also, $array works as a variable. Bad practice though. ;)
And the plugin needs to be assigned to the parse_templates hook I believe or at least the global hook wouldn't work for me.
Hm. I'm using the forumhome_start hook which is working fine for me. I'll keep that in mind though if/when I make a plugin that needs to be used on more than one template. Thanks :)
consolegaming
12-17-2009, 02:20 PM
Actually you may be fine with just registering variables but I do know that when I was trying to register a custom template it wouldn't work with the global hook and I read someone's post (I think it was Lynne's) suggesting to someone else to use the parse_templates.
As long as it works for you it doesn't make a difference lol.
EDIT: BTW can someone move my thread from the design froum to this one. Realized after I posted it that it should have been here.
Lynne
12-17-2009, 04:01 PM
EDIT: BTW can someone move my thread from the design froum to this one. Realized after I posted it that it should have been here.
Hit the Report this Post button and ask to have it moved to the xxx forum.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2024, vBulletin Solutions Inc.