如何自定义Sugar CRM导出

时间:2015-02-23 10:23:24

标签: php export sugarcrm

我在Sugar CRM中创建了自定义模块。该模块的数据/引导来自网络表单。 当我将此模块的引线导出到Excel工作表时,我将获得excel表中的所有数据。但我不想要导出所有数据。

知道如何自定义吗?我正在使用Sugar CRM的社区版本。

提前致谢。

2 个答案:

答案 0 :(得分:1)

有一个预定义的导出条目。您需要覆盖export entryPoint,并且可以自定义导出功能。

export entryPoint直接命中根目录下的export.php

创建entry_point_registry.php文件,在其中添加以下代码

$entry_point_registry['export'] = array('file' => 'your_file_path/export.php', 'auth' => true);

答案 1 :(得分:1)

在您的模块bean类中添加重写方法create_export_query(即Leads.php或YourModule.php)。

例如,如果您覆盖此标准导出功能,则导出仅包含字段" special_field_c"。

function create_export_query(&$order_by, &$where){
        $custom_join = $this->custom_fields->getJOIN(true, true);
        $query = "SELECT
                        contacts_cstm.special_field_c as special ";

        if ($custom_join) {
            $query .= $custom_join['select'];
        }
        $query .= " FROM contacts 
                    LEFT JOIN contacts_cstm
                            ON contacts.id=contacts_cstm.id_c ";

        if ($custom_join) {
            $query .= $custom_join['join'];
        }
        $where_auto = " contacts.deleted=0 ";
        $query .= empty($where) ? "WHERE $where_auto" : "WHERE ($where) AND $where_auto";
        $query .= empty($order_by) ? "" : " ORDER BY " . $this->process_order_by($order_by, null);
        return $query;

}