2011-11-16 38 views
0

它應該很簡單,但事實並非如此。PyroCMS自定義庫和CI超級對象

我有一個希望使用其他庫的存儲庫,但自己是不是jiving。因爲據我所知,addons/shared_addons /庫是完全無用的,庫需要自動加載(看起來系統/ cms本質上是系統/應用程序,但請糾正我,如果錯誤)。一邊:只是爲了踢我在shared_addons/libaries庫只是爲了看看我是否可以從一個模塊調用;我不能。爲什麼在那裏?

LIB1
-needs分貝
-needs LIB2

LIB2
-needs會議

這裏發生了什麼。控制器[模塊]加載;調用lib1,它會調用引發錯誤的lib2。 Lib1將被所有模塊控制器調用。 Lib2使用之前設置的會話數據,僅由lib1調用。

在LIB2我使用$ CI = get_instance()到假想使CI庫(例如數據庫,會話)。但是,我不能過去「致命的錯誤:調用一個非對象的成員函數userdata()」;這被稱爲

//system/cms/libraries/lib2.php 
$this->CI =& get_instance(); 
//$this->load->library('database'); == "can't find class database" 
$ekeyLoc = $this->CI->session->userdata('ronery'); 

現在,如果我在模塊控制器中運行此,它按預期工作。

所以谷歌搜索的錯誤,很多「沒有裝載數據」的出現。只是爲了確定,我試圖加載數據庫,但是因爲eff我,它找不到類'數據庫'NB:數據庫正在被自動加載。

當您指定CodeIgniter的超級對象,我假設它是抓住了整個jabloney,對不對?我是這麼想的。但爲了確保,我決定嘗試在模塊/控制器中加載數據庫類,事實證明,因爲無法找到我。

我想翻翻pyroCMS文檔,瞭解任何弄虛作假,但沒有太多,並沒有有利於我的情況。

爲什麼我無法從模塊控制器加載核心庫?

爲什麼我不能加載核心庫到系統/ CMS /庫的自定義庫?

爲什麼我分配的CodeIgniter超級對象不包含session/db廢話?

爲什麼我無法從/ addons/shared_addons/library加載庫?

爲什麼要調用$this->session->userdata()而不是從system/cms/libraries文件夾中的庫中調用$this->session->userdata(),即使已分配了CodeIgniter超級對象?

謝謝。


後2天,沒有回答,我覺得既令人沮喪和熱鬧,繼續尋找幫助,必然導致這個問題是頂部谷歌的結果。 FML。

回答

0

首先第一件事情:

$this->load->library('database'); 

無效笨代碼,就像他們的文件說,它應該是:

$this->load->database(); 

正如你已經指出,儘管這是自動加載所以無論如何不需要那樣做。

爲什麼我無法從模塊控制器加載核心庫?

您可以。

爲什麼我無法將核心庫加載到system/cms/libraries中的自定義庫中?

您可以。

爲什麼我分配的CodeIgniter超級對象不包含session/db廢話?

它的確如此。

爲什麼我無法從/ addons/shared_addons/library加載庫?

這在1.3.x中是不可能的,但是應該在1.3.2中修復,如果從2.0版開始沒有修復的話。

我不知道你在做什麼或爲什麼你有這樣的問題,但沒有任何示例代碼或你正在使用什麼版本的PyroCMS的描述我無法進一步幫助。

如果你被困了兩天,爲什麼你沒有發佈在我們的論壇?如果您在我們的論壇上發佈了消息(我沒有看到任何消息),您應該在此帖子中將鏈接添加到您的論壇主題,以幫助其他人回答問題。

這不是第一次任何人被困在互聯網上,但你的行爲是這樣的。來吧,你知道這是如何工作的! :)