我目前正在使用自定義模塊插件,並且希望能夠在我的控制面板管理中的表格上使用排序和篩選。我正在使用EE表類和窗體幫助器。我試圖按照documentation here設置它,但是當我打電話試圖調用班裏「_datasource」的方法我得到這個錯誤表達式引擎模塊表和datasort
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()'方法中,你應該只是傳遞一個字符串值和你正在做的數據源函數的名字。
我似乎並不是這個問題唯一的一個。 this EE Discussion forum thread
有更多的細節和代碼示例文檔不是很清楚。我也試着看看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;
}
謝謝阿德里安。在特定的線程中發佈可能會導致混淆,但我的_datasource函數肯定是在我的模塊的Module_mcp類中。我確信我只是在做一些愚蠢的事情,並且有一個很好的例子,可能會被證明是答案。謝謝你指出我朝着正確的方向。我會盡量發佈更新,讓你知道它是如何發生的。 –
您的datasort方法可能在您的Module_mcp類上,但您是從mcp文件還是從插件類調用datasort?可能最好是'print_r($ this-> EE - > _ mcp_reference)'以防萬一,並確保它指向你當前的類。 –
所述的print_r返回: '對象(Tmo_payments_mcp)[424] 公共 '版本'=>字符串 '2.0.0'(長度= 5) 私人 '_base_url'=>字符串「artsys S = 24bc4a880ab8ce6a4dd458d7f893dc8ebc181c09 & d =? CP & C = addons_modules & M = show_module_cp &模塊= tmo_payments'(長度= 124) 私人 '_form_base'=>字符串 'C = addons_modules & M = show_module_cp &模塊= tmo_payments'(長度= 61) 私人 'EE' =>& ...' –