vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Using a variable in a plug in (https://vborg.vbsupport.ru/showthread.php?t=278955)

Goatpod 02-21-2012 07:29 PM

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));

Thanks for any help that can be offered.

Dave

kh99 02-21-2012 08:58 PM

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.

Goatpod 02-21-2012 09:48 PM

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?

kh99 02-21-2012 10:38 PM

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.

Goatpod 03-10-2012 12:15 AM

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();

The code is in the product's .xml file.

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));

There's an $keyword/echo included just to check to see if the variable is appearing.
When the $product['product'] variable is replaced with a sample keyword the whole thing works perfectly.

Hope this makes some sense!

Many thanks, Dave


All times are GMT. The time now is 10:21 AM.

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.01101 seconds
  • Memory Usage 1,724KB
  • 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
  • (4)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete