从模块访问Virtuemart ps_product函数

时间:2014-05-02 16:56:51

标签: php joomla module virtuemart

Joomla 1.5.26
Virtuemart 1.1.9

我想使用ps_product.php的功能从模块中的VM数据库中获取数据。有些是工作,有些则没有。

调用ps_product中使用“$ this->”调用其他函数的函数导致出现这样的错误消息:

致命错误:在第XXX行(URL)/administrator/components/com_virtuemart/classes/ps_product.php中调用未定义的方法JDocumentRendererModule :: get_field()

我包含在我的代码中:

if( file_exists(dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' )) {
    require_once( dirname(__FILE__).'/../../components/com_virtuemart/virtuemart_parser.php' );
} else {
    require_once( dirname(__FILE__).'/../components/com_virtuemart/virtuemart_parser.php' );
}

require_once(CLASSPATH.'ps_product.php');

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

好的,我找到了一个解决方案,但不确定它是否完美。

我尝试按以下方式调用ps_product函数:

$ a = ps_product :: get_field('product_id','product_s_desc');

如果被调用的函数调用类中的其他函数,那么这不起作用。

解决方案:
添加

$ps_product = new ps_product;

并调用诸如
的函数 $ a = $ ps_product-> get_field ('product_id','product_s_desc');

有些功能似乎无法正常工作。例如,product_has_attributes函数应该告诉产品是否已经分配了属性,并且它总是返回false。(?)