将新模块添加到SuiteCRM

时间:2016-08-30 11:58:06

标签: php module sugarcrm suitecrm

我正在尝试以实际方式创建一个新模块,但是metadata没有被调用或显示,这里是怎么做的:

CRM/Modules/中我在其中添加了Vendors文件夹我添加了以下文件夹:

metadataviews个文件夹

in views => view.list.php

class VendorsViewList extends SugarView
{

}

并在metadata => listviewdefs.php

$listViewDefs['Vendors'] = array(
    'NAME' => array(
        'width'   => '30',
        'label'   => 'LBL_LIST_OPPORTUNITY_NAME',
        'link'    => true,
        'default' => true),
    'SALES_STAGE' => array(
        'width'   => '10',
        'label'   => 'LBL_LIST_SALES_STAGE',
        'default' => true),
    'AMOUNT_USDOLLAR' => array(
        'width'   => '10',
        'label'   => 'LBL_LIST_AMOUNT_USDOLLAR',
        'align'   => 'right',
        'default' => true,
        'currency_format' => true,
    ),
    'OPPORTUNITY_TYPE' => array(
        'width' => '15',
        'label' => 'LBL_TYPE'),
    'LEAD_SOURCE' => array(
        'width' => '15',
        'label' => 'LBL_LEAD_SOURCE'),
    'NEXT_STEP' => array(
        'width' => '10',
        'label' => 'LBL_NEXT_STEP'),
    'PROBABILITY' => array(
        'width' => '10',
        'label' => 'LBL_PROBABILITY'),
    'DATE_CLOSED' => array(
        'width' => '10',
        'label' => 'LBL_LIST_DATE_CLOSED',
        'default' => true),
    'CREATED_BY_NAME' => array(
        'width' => '10',
        'label' => 'LBL_CREATED'),
    'ASSIGNED_USER_NAME' => array(
        'width' => '5',
        'label' => 'LBL_LIST_ASSIGNED_USER',
        'module' => 'Employees',
        'id' => 'ASSIGNED_USER_ID',
        'default' => true),
    'MODIFIED_BY_NAME' => array(
        'width' => '5',
        'label' => 'LBL_MODIFIED'),
    'DATE_ENTERED' => array(
        'width' => '10',
        'label' => 'LBL_DATE_ENTERED',
        'default' => true)
);

并在metafiles.php

 $metafiles['Vendors'] = array(

    'listviewdefs'    =>    'modules/Vendors/metadata/listviewdefs.php',


 );

在主模块文件夹中我有控制器: Vendor.php

require_once( '包括/ MVC /控制器/ SugarController.php');

class Vendors extends SugarController
{
    function __construct()
    {
        parent::__construct();
    }
}

我看不到这里缺少什么,它正在调用controllerview,而不是metadata

1 个答案:

答案 0 :(得分:1)

我建议您使用模块构建器来创建模块。如果选择“发布”,模块构建器将提供一个zip文件,其中包含开始所需的最低要求。

然后,您可以从那里自定义模块。

模块构建器为您设置了很多。它:

  • 在include / modules.php
  • 中注册该模块
  • 创建SugarBean(模型)
  • 创建数据库vardefs
  • 创建元数据(视图)
  • 创建语言文件。
  • 依旧......

另外

包的SugarModules中的布局与CRM的布局相匹配。

如果您正在SuiteCRM中编辑模块。请记住,您必须运行修复并重建以清除所有缓存的文件。