我目前正在开发一个自定义模块插件,我希望能够在我的控制面板管理员的表格上使用排序和过滤。我正在使用 EE 表类和表单助手。我正在尝试按照此处的文档进行设置,但是当我调用时尝试在我的类中调用“_datasource”方法时出现此错误
Fatal error: Call to undefined method Content_publish::_datasource() in /home/public_html/system/expressionengine/libraries/EE_Table.php on line 162
我觉得这是一个范围问题,但是在表类 '$this->EE->table->datasource()' 方法中,您应该只传递一个带有数据源函数名称的字符串值,这就是我正在做。
我似乎不是唯一一个遇到这个问题的人。此 EE 讨论论坛线程上有更多详细信息和代码示例
文档不是很清楚。我还尝试查看 EE 自己的评论模块,看看我是否能弄清楚,但没有运气。有人有这方面的经验吗?
这是我正在调用的方法:
$data = $this->EE->table->datasource('_datasource');
这是我在课堂上的职责:
function _datasource()
{
// ....
// $query comes from DB result set code above.
// I have omitted it here for brevity
$datarows = array();
foreach ($query->result_array() as $key => $row)
{
$datarows[] = array(
'entry_id' => $row['entry_id'],
'date' => date('Y-m-d',$row['entry_date']),
'author' => $row['screen_name'],
'payment' => $payment_amount,
'status' => $status,
'title' => $edit_href.$row['title']."</a>"
);
}
return $datarows;
}