2014-02-20 56 views
0

我正在與SugarCRM合作。我在哪裏重寫自定義模塊的create_export_query?

我有一個自定義模塊,我試圖重寫導出方法,不包括所有的列。我實際上需要使列依賴列表視圖中的可見列(我可以找出)。

我一直在經歷SugarCRM中的所有文件,我注意到內置模塊有一個Module.php文件,其中有一個用於導出方法的'SELECT Module.*'。我無法爲自定義模塊找到這樣的文件。我要求我在哪裏創建(如果需要)或我可以在哪裏找到文件來定製create_export_query。

回答

1

create_export_query是SugarBean中的一個方法(/data/SugarBean.php是幾乎所有SugarCRM對象的基類)並且可以在bean的核心類文件中被覆蓋。所以,如果你有自定義模塊MyModule你可以找到核心類/modules/MyModule/MyModule.php

有可能不是create_export_query()方法目前存在,所以你可以寫一個在它會是這個樣子:

<?php 
require_once("include/SugarObjects/templates/basic/Basic.php"); 
class MyModule extends Basic{ 

    public function MyModule(){ 
    parent::Basic(); 
    } 

    public function create_export_query(&$order_by, &$where, $relate_link_join=''){ 
    $query = " select * from {$this->table_name} "; // build your query string however you like 
    return $query; 
    } 
} 
+0

這看起來像我想要做的。我整個週末一直在嘗試這個,但仍然有點失落。我可以看到這在兩個不同的地方。/custom/modulebuilder/packages/pkg/modules/myModule和/ custom/modules/myModules - 這有什麼關係嗎? – Dagron

+1

它非常重要,但你提到的兩個位置都是錯誤的。 '/ custom/modulebuilder /'代表您使用Module Builder製作的模塊,但尚未部署。這就像一個臨時區域。您需要對部署後的核心模塊進行這些更改,因此如果尚未部署模塊,請繼續操作。然後直接進入'/ modules/MyModule/MyModule.php'。編輯模塊的核心類時,根本不要進入'/ custom'。 –

相關問題