Php 向SuiteRM添加新模块
我正在尝试实用地创建一个新模块,但是没有调用或显示Php 向SuiteRM添加新模块,php,module,sugarcrm,suitecrm,Php,Module,Sugarcrm,Suitecrm,我正在尝试实用地创建一个新模块,但是没有调用或显示元数据,我是如何做到的: 在CRM/Modules/中,我在其中添加了Vendors文件夹,我添加了以下文件夹: 元数据,视图文件夹 在视图中=>view.list.php class VendorsViewList extends SugarView { } $listViewDefs['Vendors'] = array( 'NAME' => array( 'width' => '30',
元数据,我是如何做到的:
在CRM/Modules/
中,我在其中添加了Vendors
文件夹,我添加了以下文件夹:
元数据
,视图
文件夹
在视图中
=>view.list.php
class VendorsViewList extends SugarView
{
}
$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['Vendors'] = array(
'listviewdefs' => 'modules/Vendors/metadata/listviewdefs.php',
);
而在元数据中
=>
listviewdefs.php
class VendorsViewList extends SugarView
{
}
$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['Vendors'] = array(
'listviewdefs' => 'modules/Vendors/metadata/listviewdefs.php',
);
在metafiles.php中
class VendorsViewList extends SugarView
{
}
$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['Vendors'] = array(
'listviewdefs' => 'modules/Vendors/metadata/listviewdefs.php',
);
在主模块文件夹中,我有控制器:
Vendor.php
class VendorsViewList extends SugarView
{
}
$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['Vendors'] = array(
'listviewdefs' => 'modules/Vendors/metadata/listviewdefs.php',
);
require_once('include/MVC/Controller/SugarController.php')
我看不出这里缺少什么,它调用的是控制器
和视图
,但不是元数据
,我建议您使用模块生成器创建模块。如果选择“发布”,模块生成器将提供一个zip文件,其中包含启动所需的最低数量
然后,您可以从那里定制模块
模块生成器为您设置了很多。它:
- 在include/modules.php中注册模块
- 创建SugarBean(模型)
- 创建数据库vardefs
- 创建元数据(视图)
- 创建语言文件
- 等等
也
包的SugarModule中的布局与CRM的布局匹配
如果您正在SuiteRM中编辑模块。请记住,必须运行修复和重建以清除任何缓存文件