You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vtiger 7 CRM中通过Vtlib函数创建DateTime字段

在Vtiger 7 CRM中使用Vtlib创建DateTime字段的方法

核心步骤与示例代码

要通过Vtlib函数为目标模块创建DateTime字段,可按以下步骤操作:

  1. 引入Vtlib核心文件
    先加载Vtiger的模块操作类,确保脚本能调用Vtlib相关函数:

    include_once 'vtlib/Vtiger/Module.php';
    include_once 'vtlib/Vtiger/Block.php';
    include_once 'vtlib/Vtiger/Field.php';
    
  2. 获取目标模块实例
    替换YourModuleName为实际需要添加字段的模块名称(如Leads、Accounts):

    $module = Vtiger_Module::getInstance('YourModuleName');
    if (!$module) {
        die('目标模块不存在');
    }
    
  3. 获取模块对应的块(Block)
    替换LBL_YOUR_BLOCK_LABEL为模块中目标块的标签(如LBL_LEADS_INFORMATION),字段将添加到这个块下:

    $block = Vtiger_Block::getInstance('LBL_YOUR_BLOCK_LABEL', $module);
    if (!$block) {
        die('目标块不存在');
    }
    
  4. 创建DateTime字段实例并配置属性
    定义字段的各项属性,包括字段类型、显示标签、数据库列名等:

    $field = new Vtiger_Field();
    $field->name = 'cf_custom_datetime'; // 数据库列名,自定义字段建议用cf_前缀避免冲突
    $field->label = '自定义日期时间'; // 界面显示的字段标签
    $field->table = $module->basetable; // 关联模块的基础数据表
    $field->column = $field->name; // 数据库列名,与name保持一致
    $field->columntype = 'datetime'; // 数据库字段类型
    $field->uitype = 70; // Vtiger中DateTime字段对应的Uitype值
    $field->typeofdata = 'DT~O'; // 字段规则:DT表示DateTime,O表示可选(必填用M)
    $field->displaytype = 1; // 1=显示,0=隐藏
    $field->quickcreate = 0; // 是否在快速创建表单中显示
    
  5. 将字段添加到模块的块中
    执行添加操作,完成字段创建:

    $block->addField($field);
    echo 'DateTime字段创建成功';
    

注意事项

  • 字段命名规范:自定义字段建议使用cf_前缀,避免与系统内置字段冲突
  • 缓存清理:字段创建完成后,需删除Vtiger安装目录下cache文件夹中的相关缓存文件,或在后台执行「刷新缓存」操作,确保字段正常显示
  • 权限验证:执行脚本的服务器用户需拥有Vtiger目录的读写权限,确保能修改数据库及文件

内容的提问来源于stack exchange,提问作者Santosh Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 07:15:33