我正在为Expression Engine开发一个属性模块,用于从Rightmove的BLM格式获取属性并填充数据库,然后可以从前端搜索这些属性。
我找到了一个CodeIgniter库(http://biostall.com/codeigniter-rightmove-blm-parser-library)来完成BLM文件的繁重工作。但是,我似乎无法加载它。
我在mcp.properties.php中的代码如下所示:
$config = array();
$this->EE->load->library('rightmove_v3_parser');
$this->rightmove_v3_parser->initialize($config);
$data['properties'] = $this->rightmove_v3_parser->process();
print '<pre>'; print_r($data['properties']); print '</pre>';
exit;
库文件位于libraries
下properties
加载项文件夹的/system/expressionengine/third_party/
子文件夹中。
但是,使用上面的代码时,我在Expression Engine中收到以下错误:
遇到PHP错误
严重性:注意
消息:未定义属性:Properties_mcp :: $ Rightmove_v3_parser
文件名:properties / mcp.properties.php
行号:44
致命错误:在第4行的/Users/Martin/Sites/expressionengine/system/expressionengine/third_party/properties/mcp.properties.php中调用非对象的成员函数initialize()
我哪里错了?为什么我不能将这个库与我的附加组件捆绑在一起并在我的附加组件中调用它?
答案 0 :(得分:1)
引用库时,您错过了EE对象。所以加载库后你应该使用
$this->EE->rightmove_v3_parser
访问它,而不是
$this->rightmove_v3_parser
答案 1 :(得分:0)
你是否将库包含在插件的顶部,我可能错了,但我认为加载这样的库不会起作用你的third_party插件文件夹中的库子目录。尝试在您的插件顶部包含库。