像许多SuiteCRM一样,字段类型是可自定义的,您可以添加自己的字段类型。这篇文章将说明如何将颜色选择器添加为自定义字段类型。

SuiteCRM LOGO

首先,我们需要为Studio添加选项,以允许创建我们新类型的字段。为此,我们添加了一个custom/modules/DynamicFields/templates/Fields/TemplateColourPicker.php 包含以下内容的新文件 :

if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');

require_once('modules/DynamicFields/templates/Fields/TemplateField.php');

class TemplateColourPicker extends TemplateField{

var $type='ColourPicker';

function get_field_def(){

$def = parent::get_field_def();

$def['dbType'] = 'varchar';

return $def;

}

}

接下来,我们创建语言文件 custom/Extensionmodules/ModuleBuilder/Ext/Language/en_us.ColourPicker.php 并为我们的新字段类型定义标签:

$mod_strings['fieldTypes']['ColourPicker'] = 'Colour Picker';

快速修复并重建后,这使我们可以选择创建一个类型为“ Colour Picker”的字段:

然后可以按常规方式通过工作室将其添加到视图等中。

但是,我们的领域很无聊,并且什么也没做。让我们给它一些个性。

我们将使用TinyColorPicker向该字段添加一些功能。这将保存在一个新目录中custom/include/SugarFields/Fields/ColourPicker/js/jqColorPicker.min.js

接下来,我们将添加两个模板,其中一个用于Detail视图custom/include/SugarFields/Fields/ColourPicker/DetailView.tpl:

{if strlen({{sugarvar key='value' string=true}}) <= 0}

{assign var="value" value={{sugarvar key='default_value' string=true}} }

{else}

{assign var="value" value={{sugarvar key='value' string=true}} }

{/if}

id='{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}' size='{{$displayParams.size|default:30}}'

{{if isset($displayParams.maxlength)}}maxlength='{{$displayParams.maxlength}}'{{elseif isset($vardef.len)}}maxlength='{{$vardef.len}}'{{/if}}

value='{$value}' title='{{$vardef.help}}' {{if !empty($tabindex)}} tabindex='{{$tabindex}}' {{/if}}

{{if !empty($displayParams.accesskey)}} accesskey='{{$displayParams.accesskey}}' {{/if}} {{$displayParams.field}}>

{literal}

$(document).ready(function(){

$('#{/literal}{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}{literal}').colorPicker();

});

{/literal}

另一个用于编辑视图 custom/include/SugarFields/Fields/ColourPicker/EditView.tpl:

{if strlen({{sugarvar key='value' string=true}}) <= 0}

{assign var="value" value={{sugarvar key='default_value' string=true}} }

{else}

{assign var="value" value={{sugarvar key='value' string=true}} }

{/if}

id='{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}' size='{{$displayParams.size|default:30}}'

{{if isset($displayParams.maxlength)}}maxlength='{{$displayParams.maxlength}}'{{elseif isset($vardef.len)}}maxlength='{{$vardef.len}}'{{/if}}

value='{$value}' title='{{$vardef.help}}' {{if !empty($tabindex)}} tabindex='{{$tabindex}}' {{/if}}

{{if !empty($displayParams.accesskey)}} accesskey='{{$displayParams.accesskey}}' {{/if}} {{$displayParams.field}}>

{literal}

$(document).ready(function(){

$('#{/literal}{{if empty($displayParams.idName)}}{{sugarvar key='name'}}{{else}}{{$displayParams.idName}}{{/if}}{literal}').colorPicker();

});

{/literal}

快速修复和重建后(并假定已将字段添加到视图中)。您会看到新字段:

SuiteCRM 全功能,不限用户,3600元/终生使用

SuiteCRM 与 Salesforce 和 Dynamics 一样强大,具有更高的技术独立性和定制性。业务咨询与服务,请联系:188-9654-1629

我们提供的服务包括:插件开发、主题开发、安装和配置、CRM升级、CRM部署、支持与维护、用户培训…

推荐阅读

php 自定义字段erp,在SuiteCRM中创建自定义字段类型相关推荐

  1. hive 元数据 自定义_如何在Hive中创建自定义函数UDF及如何直接通过Impala的同步元数据重用UDF的jar文件-阿里云开发者社区...

    如何在Hive中创建自定义函数UDF及使用 如何在Impala中使用Hive的自定义函数 UDF函数开发 使用Intellij工具开发Hive的UDF函数,进行编译: 1.使用Intellij工具通过 ...

  2. java 自定义事件_在Java中创建自定义事件

    你可能想调查一下观测器模式. 下面是一些让自己开始工作的示例代码:import java.util.*;// An interface to be implemented by everyone in ...

  3. 微软word开机自启动_如何在Microsoft Word中创建自定义封面

    微软word开机自启动 A great cover page draws in readers. If you use Microsoft Word, you're in luck, because ...

  4. 在OpenCart中创建自定义送货方式:第一部分

    尽管OpenCart核心本身提供了许多有用的运送方法,但始终有机会需要创建自己的运送方法. 另一方面,作为一名Web开发人员,您将始终尝试探索自己选择的框架,以了解如何创建自己的自定义内容! 在本系列 ...

  5. 如何在android中创建自定义对话框?

    本文翻译自:How to create a Custom Dialog box in android? I want to create a custom dialog box like below ...

  6. NI Multisim元件库:在Multisim中创建自定义元器件

    转载于: http://www.ni.com/tutorial/3173/zhs/ 概览 「在Multisim中创建自定义元器件」与「在 NI Ultiboard中创建自定义元器件」为您提供了关于如何 ...

  7. 在Windows Media Player 12中创建自定义播放列表

    A playlist is a group of songs or media files that are grouped together based on a theme. Today we'l ...

  8. 如何在ASP.NET Core中创建自定义AuthorizeAttribute?

    本文翻译自:How do you create a custom AuthorizeAttribute in ASP.NET Core? I'm trying to make a custom aut ...

  9. 如何在WordPress中创建自定义主页

    Often users ask us if it's possible to create a custom homepage in WordPress. 用户经常问我们是否可以在WordPress中 ...

  10. 在Fritzing中创建自定义元件

    topic 参考地址: 第1步:收集所有信息 图1. 数据表中的元件尺寸 图2. ML8511分线板 图3. 所需尺寸 第2步:面包板视图 图4. 主窗口 图5. 文件属性窗口 图6. 新矩形 图8. ...

最新文章

  1. CF338D GCD Table(拓展中国剩余定理,细节处理,2900分)
  2. Bitcoin.com推出BCH新图表,加大对BCH的支持
  3. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车黑线循迹实验 四驱
  4. labelme 语义分割数据集_labelme安装以及使用教程——自制语义分割数据集(保姆级示范)...
  5. CF741D Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths 树启 + 状压
  6. arm linux串口控制led,通信程序设计 - Linux下ARM和单片机的串口通信设计
  7. Android P (1)---开发指南
  8. bzoj1565【NOI2009】植物大战僵尸(最小割)
  9. Educational Codeforces Round 65 (Rated for Div. 2) C. News Distribution
  10. 互联网对实体经济的三轮冲击
  11. 模式识别之特征提取算法
  12. java764位_jdk7 64位下载
  13. 开源绘图工具drawio
  14. Pr 音频效果参考:振幅与压限
  15. .NET之盛派微信SDK简单操作
  16. Java实现打开浏览器的N种办法
  17. ubuntu下安装goldendict及离线词库
  18. 安卓执法仪录像之进程间共享内存
  19. 4K、高清、无水印视频素材库
  20. 使用pyecharts遇到的坑(去掉地图标识小红点)!

热门文章

  1. 软件工程自学笔记一(基础篇)
  2. 普通母函数理解篇(PPT)
  3. php后台万能登陆密码,各类网站后台万能密码整理
  4. 互联网上免费电子图书馆网址大全
  5. 鉴定网站是否允许IPV6访问方法(湖大IPV6下载流量免费)
  6. 计算机系统结构图并简述各个部件的作用,【计算机组成原理】计算机系统
  7. linux卸载deb安装的软件,ubuntu常用软件包deb的安装与卸载
  8. 网吧web电影服务器系统,网吧电影服务器如何安装制作?
  9. GM620光猫telnet获取pppoe密码
  10. 聊聊关于软件质量的思考