The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
Using a variable in a plug in
Hello, hope someone can help with this problem.
I've created a plug in that calls on an ebay api script (phpBay Pro) to add Ebay listings underneath a product review. The review mod. is TedS' wonderful Product Review Forums ? Research, Reviews & Comparisons and I'm trying to reuse one of its variables: vb:raw product.mfrg. Everything works fine if a keyword is substituted for the vb:raw product.mfrg variable in the plugin; but I'm lost when it comes to what should be the right syntax to enter so that the correct keyword appears (which is the title as defined by the review mod.). The plugin code is: Code:
ob_start(); require_once("./phpbay/ebay.php"); phpBayAPI("{(vb:raw product.mfrg)}", "5", "", "", "", false); $php_include = ob_get_contents(); ob_end_clean(); vB_Template::preRegister('prodforums_product_details',array('php_include' => $php_include)); Dave |
#2
|
|||
|
|||
You would want to use $product[mfrg] in plugin code, but you might find that it's not set, depending on what hook location you use and where the mod actually sets the value.
|
#3
|
||||
|
||||
Thanks KH99. I'm currently using the global_start hook, but open to suggestions as to what may be a better hook to use. Have you any pointers as to where I should be looking for where the mod sets the value?
|
#4
|
|||
|
|||
I see the template is prodforums_product_details, so you'd have to find where render() is called for that template. It will be a section of code something like:
Code:
$templater = vB_Template::create('prodforums_product_details'); $templater->register('my_var', $my_var); /// etc, etc $templater->render(); So probably $product is set to something somwhere around there, and your code would have to be after that. If it's completely custom code it's possible there is no hook, in which case you might have to edit the code. |
#5
|
||||
|
||||
Hi kh99, thanks again for repsonding.
I'm still nocking my head against the wall with this one. I've found: Code:
// show product display $templater = vB_Template::create('prodforums_product_details'); $templater->register('product', $product); $templater->register('prodforums_stars', $prodforums_stars); $template_hook['showthread_above_posts'] .= $templater->render(); I've been trying many different ways to get it to work in the plug in without success, could you let me know the correct syntax that should appear in the plugin in order to get this variable to appear? Here's my last attempt: Code:
ob_start(); require_once("./phpbay/ebay.php"); $keyword = $product['product']; phpBayAPI($keyword, "5", "", "", "", false); echo "The value of the vb variable = " . $keyword . "<br />\r\n"; $php_include = ob_get_contents(); ob_end_clean(); vB_Template::preRegister('prodforums_product_details',array('php_include' => $php_include)); When the $product['product'] variable is replaced with a sample keyword the whole thing works perfectly. Hope this makes some sense! Many thanks, Dave |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|