Module SuiteRM中的模块创建

Module SuiteRM中的模块创建,module,sugarcrm,suitecrm,Module,Sugarcrm,Suitecrm,我正在使用SuiteCRM(Sugar CRM 6.x community edition)&希望创建一个自定义登录页面,成功登录后,我希望根据用户类型重定向 尝试创建一些模块,但除了一些有用的之外,没有清晰的文档,下面是我的查询: 我们可以不使用模块生成器创建自定义模块吗?如果可以,步骤是什么 我们是否需要在/module文件夹或/custom/module文件夹中写入模块,或者同时在这两个位置写入模块 您也可以通过修改“modules/Users/Login.tpl”来创建自定义登录页面

我正在使用SuiteCRM(Sugar CRM 6.x community edition)&希望创建一个自定义登录页面,成功登录后,我希望根据用户类型重定向

尝试创建一些模块,但除了一些有用的之外,没有清晰的文档,下面是我的查询:

  • 我们可以不使用模块生成器创建自定义模块吗?如果可以,步骤是什么
  • 我们是否需要在/module文件夹或/custom/module文件夹中写入模块,或者同时在这两个位置写入模块

您也可以通过修改“modules/Users/Login.tpl”来创建自定义登录页面

可以通过Modulebuilder或手动创建自定义模块

手动创建模块时,使用正确的名称很重要。 最简单的方法是对文件夹、表和模块使用复数名,对类使用单数名

手动步骤:

您需要模块中的文件夹/名称与您的模块相同(即CAccounts)

在该文件夹中,您需要一个名为类(即CAccount.php)的文件,其内容如下:

require_once('data/SugarBean.php');
require_once('include/utils.php');

class CAccount extends SugarBean{

    var $table_name = 'caccounts';
    var $object_name = 'CAccount';
    var $module_dir = 'CAccounts';
    var $new_schema = true;
    var $name;

    var $created_by;
    var $id;
    var $deleted;
    var $date_entered;        
    var $date_modified;        
    var $modified_user_id;  
    var $modified_by_name;

    function CAccount (){
        parent::SugarBean();
    }

    function get_summary_text(){
        return $this->name;
    }

    function bean_implements($interface)
    {
        switch($interface)
        {
            case 'ACL':return true;
        }

        return false;
    }

}
在此文件夹中,您需要一个vardefs.php文件:

$dictionary['CAccount'] = array(
    'table'=>'caccounts',
    'audited'=>false,
    'fields'=>array (
          //Your fielddefs here     
     )
);  

require_once('include/SugarObjects/VardefManager.php');
VardefManager::createVardef('CAccounts','CAccount', array('basic'));
有关语言和元数据文件夹,请查看任何其他模块

接下来是一个位于“custom/Extension/application/Ext/Include/CAccounts.Include.php”的文件

模块名称的语言文件必须为“custom/Extension/application/Ext/language/”

要在选项卡中显示模块,您需要使用“重建和修复”,然后使用“管理”菜单中的“显示模块和子面板”选项

对于自定义模块,您不需要“custom/”文件夹结构。sugar将使用其中的文件(如果提供的话),但在定制模块中通常不需要这些文件

有关模块框架的指南可在sugarcrm支持网站上找到:

谢谢您的快速回复。我正在调查此事
$moduleList[] = 'CAccounts'; 
$beanList['CAccounts'] = 'CAccount';        
$beanFiles['CAccount'] = 'modules/CAccounts/CAccount.php';
$app_list_strings['moduleList']['CAccounts'] = 'Custom Accounts';