如何通过PHP脚本(Vtlib函数)提升Vtiger 7 CRM文档标题长度限制
修改Vtiger 7 CRM文档标题长度限制(使用VT-Lib函数)
操作思路
Vtiger的字段长度限制同时存储在模块元数据和数据库表结构中,借助VT-Lib函数可以安全地修改字段属性,无需直接手动编辑数据库。
具体步骤
- 创建自定义修改脚本
在Vtiger系统根目录下新建PHP脚本(例如update_doc_title_limit.php),代码如下:
<?php // 初始化Vtiger运行环境 include_once 'vtlib/Vtiger/Module.php'; include_once 'includes/main/WebUI.php'; include_once 'include/Webservices/Utils.php'; // 获取Documents模块实例 $module = Vtiger_Module::getInstance('Documents'); if (!$module) { die("未找到Documents模块"); } // 获取文档标题字段(字段名为notes_title) $field = Vtiger_Field::getInstance('notes_title', $module); if (!$field) { die("未找到标题字段"); } // 修改字段长度配置,示例设置为255(可根据需求调整) $field->typeofdata = 'V~M~255'; // V=字符串类型,M=必填,255=最大长度 $field->save(); // 更新数据库表结构 $db = PearDatabase::getInstance(); $alterSql = "ALTER TABLE vtiger_notes MODIFY COLUMN notes_title VARCHAR(255) NOT NULL"; $db->pquery($alterSql, []); echo "文档标题长度限制已成功修改"; ?>
- 执行脚本并清理
- 将脚本上传至Vtiger根目录
- 通过浏览器访问该脚本(如
http://你的Vtiger地址/update_doc_title_limit.php) - 执行完成后立即删除该脚本,避免安全风险
- 验证修改效果
- 进入Vtiger后台,尝试创建/编辑文档,输入超过原限制长度的标题,确认可正常保存
- 查看数据库
vtiger_notes表的notes_title字段,确认类型已更新为VARCHAR(255)(对应你设置的长度)
关键说明
typeofdata格式规则:[字段类型]~[必填属性]~[长度],其中V代表字符串,M表示必填,O表示可选- 操作前务必备份数据库,防止数据异常
- 确保脚本拥有足够的权限执行数据库修改操作
内容的提问来源于stack exchange,提问作者Santosh Kumar
相关产品推荐
相关产品推荐

