将外部库加载到ExpressionEngine插件中

时间:2012-10-22 06:13:25

标签: plugins expressionengine

我正在尝试将外部库加载到ExpressionEngine插件中,但我得到了:

消息:未定义属性:Detector :: $ EE

在插件本身我有:

public function __construct()
{
    $this->EE->load->library('detector');
    $this->EE =& get_instance();
}

我的文件夹设置如下:

检测器
-libraries
--Detector.php
-pi.detector.php

我做错了什么?

移出加载库错误后,我现在使用以下代码收到“未定义变量”错误:

public function detector()
{
 return $ua->ua;
}

public function user_agent()
{
return $ua->ua;
}

如果我的模板中有{exp:detector:user_agent},那就是这样。如果我{exp:detector}我没有输出。

1 个答案:

答案 0 :(得分:7)

你应该改变你的代码:

$this->EE =& get_instance();
$this->EE->load->add_package_path(PATH_THIRD.'/detector'); 
$this->EE->load->library('detector');

首先初始化$this->EE变量,然后可以加载库。所以在这种情况下它将是

$this->EE->detector->user_agent();