2013-05-12 43 views
0

我正在\custom\modules目錄中創建自定義模塊,並且我想覆蓋Companies.class.php(公司模型從activecollab\3.3.7\modules\system\models\companies directory)。我想使用函數findForObjectsList(),但是當我使用Angie的useModel()函數時,它會從我的自定義模塊中加載我所有站點的公司模型。而我只是想在我的模塊中覆蓋它並不是無處不在。如何覆蓋ActiveCollab中的公司模型

我的init.php是這樣的:

/** 
    * company List module initialisation file 
    */ 

    const COMPANYLIST_MODULE = 'company_list'; 
    const COMPANYLIST_MODULE_PATH = __DIR__; 

    AngieApplication::useModel(array(
    'companies', 
), COMPANYLIST_MODULE); 

我已經使用這個太:

AngieApplication::setForAutoload('Comapny List', CALENDAR_MODULE_PATH . '/models/companies/ListCompanies.class.php'); 

但徒勞無功。

+0

我的回覆回答你的問題,即使這可能不是你正在尋找的答案:)不幸的是,沒有辦法在模型中注入你的代碼 - 你需要完全替換它們,或者使用內置的實現。 – Ilija 2013-06-01 11:22:49

回答

0

您不能使用AngieApplication::useModel()AngieApplication::setForAutoload()覆蓋內置類,而是替換它們。爲了「覆蓋」,您需要完全替換現有的類並更改所需的方法。

不推薦您決定使用的方法。我認爲你應該回退一點,我們應該從你正在努力解決的問題的角度開始討論,而不是你想到的實現(我認爲你選擇了錯誤的方法,但不能100%肯定,直到我聽到你到底想要達到什麼目的)。