注:我用的SugarCRM是6.5.8的社区版,以下描述的修改,都是基于这个版本的。
SugarmCRM都是基于MVC的模型,需要自己动手开发一个新的模块的话,可以先使用系统管理中的模块生成器构造一个新的模块,将基本的数据字段以及一些关联关系,直接通过拖拽的方式先定义好。
通过以上自定义操作,只能满足一些基本的需求,但是如果需要实现自定义的一些需求,就需要自己动手编写了。
使用自定义的tpl文件来做展现
首先可以将生成的模块直接加载后,那样就可以边编辑边调试。
在modules/模块名/就是默认生成的一些代码,一般会有Dashlets、language、metadata等目录。
为了针对这个模块的某个action做自定义tpl展现,需要在moudules/模块名/下面创建views目录和tpls目录。
以“创建”这个功能来作为示例,首先在tpls目录下,放置一个编辑完成的tpl文件,然后在views下面建一个view.edit.php文件,并且添加如下的代码:
<?php
if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
require_once('include/MVC/View/views/view.edit.php');
// 此处必须是模块名称+ViewEdit,我在这个名称上面折腾了1个多小时才发现此问题
class GD_GongdanViewEdit extends ViewEdit
{
public function __construct()
{
parent::ViewEdit();
}
public function preDisplay()
{
// 此处指向用于展示的tpl文件
$metadataFile = $this->getMetaDataFile();
$this->ev = $this->getEditView();
$this->ev->ss =& $this->ss;
$this->ev->setup($this->module, $this->bean, $metadataFile, get_custom_file_if_exists('modules/GD_gongdan/tpls/EditView.tpl'));
}
public function display(){
parent::display();
}
}
上面通过重载preDisplay来重新指定显示的tpl文件,这样模块的SugarBean继承类在运行处理完后,会自动用你指定的tpl文件来进行展示。
如何获取tpl文件所需要的数据
既然要用自定义的tpl文件来展示,有时候需要额外的获取一些数据给tpl文件,此时可以在modules/模块名/模块名_sugar.php进行修改,此类一般都继承自SugarBean。如下代码展示了,在初始化的时候获取额外的客户信息数据:
function GD_gongdan_sugar(){
parent::Basic();
if(!empty($_GET["tel"]))
{
$query = "SELECT * FROM accounts where phone_office = '".$_GET["tel"]."' and deleted='0'";
$result = $this->db->query($query,true," Error filling in additional detail fields: ");
$row = $this->db->fetchByAssoc($result);
if($row != null)
{
$this->sz_account_name = $row["name"];
}
else
{
$this->sz_account_name = "";
}
}
else
{
$this->sz_account_name = "";
}
}
分享到:
相关推荐
SugarCRM开发者指南针对希望使用SugarCRM的定制工具和API扩展或自定义功能的开发者,适用于SugarUltimate、Enterprise、Corporate、Professional和Community版本。 三、SugarCRM模块框架与定制化 SugarCRM由多个...
通过阅读SugarCRM傻瓜教程,即便是没有相关背景知识的初学者也能够逐步掌握SugarCRM的使用,最终实现提高工作效率和管理水平的目标。同时,考虑到使用过程中可能遇到的问题,教程可能会提供一些专业的建议和解决方案...
对员工进行培训,确保他们能够熟练使用SugarCRM,然后逐步将系统投入实际运营。 #### 6. 监控与优化 系统上线后,持续监控其运行状况,收集反馈,根据业务发展不断优化SugarCRM的应用。 ### 四、总结 SugarCRM是...
第2步:把\htdocs\sugarcrm下的cache和custom全删除(使用Cache文件夹会访问更快,每次登陆系统会自动产生;custom是用户自定义的简直,在用户自定义了某些键值后,每次自动加载); 第3步,把汉化包文件(主要是...
中文汉化包的出现,意味着原版SugarCRM的英文界面被翻译成了中文,使得中国用户在使用时不再受限于语言障碍,能够更直观地理解各个模块的功能和操作流程,提高工作效率。这对于那些英语水平有限或者习惯使用中文界面...
这个中文包使得用户能够更方便地理解和使用SugarCRM,尤其对于那些中文为母语的用户,它消除了语言障碍,提升了用户体验。下面我们将深入探讨SugarCRM的核心功能、汉化的重要性以及如何安装和使用这个中文包。 首先...
【SugarCRM6.5.X汉化包】是一个针对SugarCRM 6.5版本的中文语言包,旨在为使用此CRM系统的中国用户提供更加便捷的操作体验。SugarCRM是一款开源的客户关系管理(CRM)软件,它提供了销售自动化、市场营销、客户服务...
糖CRM(SugarCRM)是一款广泛使用的开源客户关系管理软件,旨在帮助企业提高销售效率,优化客户服务,以及提升团队协作。在本压缩包“sugarCRM性能测试.zip”中,包含了一系列与使用LoadRunner进行性能测试相关的...
SugarCRM是一款开源的企业级客户关系管理(CRM)系统,它提供了强大的销售自动化、客户服务和市场营销功能。6.5版本是其历史上的一个重要里程碑,为用户提供了许多改进和新特性。在本篇中,我们将探讨如何在PHP环境...
**SugarCRM 开源客户关系管理系统使用教程** SugarCRM 是一款流行的开源客户关系管理系统,它提供了丰富的功能,帮助企业管理和优化与客户的关系。以下是一些关键点的详细解释: 1. **权限设置** - **角色控制**...
### SugarCRM项目常见面试问题详解 #### 一、SugarCRM项目简介 SugarCRM是一个由美国SugarCRM公司开发的开源客户关系管理系统(Customer Relationship Management, CRM),它采用了B/S(Browser/Server)架构,...
总之,SugarCRM CE 6.5.20作为一款成熟的开源CRM系统,不仅提供了全面的业务管理功能,而且凭借其开源特性,为企业提供了灵活的定制空间和成本优势,是中小企业实现数字化转型的理想选择。通过深入理解和有效利用这...
这个语言包的主要目的是将SugarCRM的用户界面、帮助文档以及错误提示等信息翻译成中文,以便于中国用户更方便地理解和使用这款开源的客户关系管理软件。 首先,我们要了解SugarCRM的基本概念。SugarCRM是一款广泛...
SugarCRM ver 说明 SugarCRM Community Edition SugarCRM Professinal Edition SugarCRM Enterprise Edition
SugarCRM是一款全球知名的开源客户关系管理(CRM)系统,旨在帮助企业管理和优化与客户的互动。4.5b_CN版本是专门为中文用户定制的,提供了丰富的功能和本地化支持,使得国内用户能够更加便捷地使用这一强大的工具。...
在SugarCRM 6.5 CE版中,包含了一系列关键功能和改进,这些知识点对于理解和使用此版本至关重要: 1. **用户界面**:6.5版本提供了一个直观的Web界面,用户可以通过浏览器进行访问。这个界面设计简洁,易于导航,使...
SugarCRM v3.5.1c 简体中文版 See the Installation Guide found on SugarForge.org for installation steps of Sugar Open Source. http://www.sugarcrm.com/crm/documentation.html How to Install a Sugar Patch ...
- **开发人员指南**:针对开发者提供的文档,介绍如何使用SugarCRM进行二次开发。 - **API文档**:详细介绍各个API接口的使用方法。 - **最佳实践**:分享成功案例和推荐的最佳实践。 #### 安装SugarCRM ##### ...