vtigerCMR 7.0 二次开发常见问题

Vtiger 文件目录结构
Vtiger CRM 7 主要文件目录结构如下:
–vtiger7/
––index.php <- 主界面入口
––configs.x.php <- 配置文件
––cache/ <- 缓存
––cron/ <- 定时任务
––data/ <-
––include/ <- 辅助类, 公共调用文件(数据库、事件、字段、视图等)
––includes/ <- 辅助类
––languages/ <- 多语言
––layouts/ <- 界面布局和主题模版
––libraries/ <- 第三方公共库(bootstrap、 jquery、 smarty、 tcpdf 等)
––migrate/ <- 升级
––modules/ <- 模块文件
––packages/ <- 插件包(语言包、扩展插件包等)
––resources/ <- 公共资源(字体、 JS、 Styles 等)
––schema/ <- 数据库结构(XML)
––soap/ <-
––storage/ <- 上传文件夹(权限必须可写)
––test/ <- 很杂的文件夹(如果改了模板页面没有刷新,看看是不是这个文件夹下的
––user_privileges/ <- 用户权限啥的,设置的共享权限都在这里,注意备份
––vtlib/ <- 开发库

Vtiger 模块结构
Vtiger 回调模块目录结构:
–vtiger7/
––modules/ 所有的模块目录
–––Vtiger/ vtiger目录
––––models/ (ViewModels helper implementation) 视图模型助手实现
–––––Record.php (class Vtiger_Record_Model) 记录模型
–––––Field.php (class Vtiger_Field_Model) 字段模型
–––––Module.php (class Vtiger_Module_Model) 模块模型

––––views/ (ViewControllers) 视图控制器
–––––Detail.php (class Vtiger_Detail_View)详情视图控制器
–––––Popup.php (class Vtiger_Popup_View) 弹出视图控制器
––––actions/ (ActionControllers) 动作控制器(增/删/改/查)
–––––BasicAjax.php (class Vtiger_BasicAjax_Action) 基本的ajax动作控制器
–––––Delete.php (class Vtiger_Delete_Action) 删除动作控制器
–––––DeleteAjax.php (class Vtiger_DeleteAjax_Action) ajax执行删除控制住器
–––––ExportData.php (class Vtiger_ExportData_Action) 导出数据动作控制中期
–––––MassEdit.php (class Vtiger_MassEdit_Action) 大量编辑控制器
–––––Save.php (class Vtiger_Save_Action) 执行保存动作的控制器
––––dashboards/ (ModuleDashboards) 模块的仪表盘
–––––History.php (class Vtiger_History_Dashboard)
–––––UpcomingTasks.php (class vtiger_UpcomingTasks_Dashboard)
––––handlers/ (EventHandlers) 事件句柄(事件处理程序)
–––––RecordLabelUpdater.php (class Vtiger_RecordLabelUpdater_Handler) 更新标签记录

创建模块
这里以Students 模块为例:

笔记:Php console.php命令可以创建模板、模块、语言包等
创建模块:
切换到 \vtlib\tools 目录下

数据库、字段:

以上创建完毕之后会自动在模块下创建 : Students.php
视图页面( 首页-->CRM设置-->模块创建-->添加字段 )创建模块添加字段,添加完之会自动在数据库中创建一个结尾以scf的副表 ( vtiger_studentscf );

添加完毕之后,打开Students.php 文件修改字段信息

注意:一般业务中都是将副表中的字段删除掉,将删除的字段添加到主表中(根据业务需求);
修改表 vtiger_students vtiger_studentscf vtiger_field

<1>修改vtiger_students(主表) vtiger_studentscf(副表)
操作方法:将副表中的在主表内添加你的所有字段;
数据库中的数据附表都是系统自己创建的 字母+数字的字段 例如: cf_889等;
<2>修改vtiger_field
其实这样还远远不够,在创建字段的时候,会在vtiger_field表中创建相应的字段;
例如: cf_889代表创建的是agevtiger_field 中找到你cf_889 修改成age
其他字段,相同
<3>手动添加一张表
vtiger_accounts_user_field这张表复制一份;
将复制完毕的表修改为: vtiger_students_user_field;
<4>注意 vtiger_crmentity中添加相应的数据
每次添加数据数都会在vtiger_crmentity 这张表中有相应的记录;在vtiger_students中手动添加数据时一定要在vtiger_crmentity表中插入相应的数据,否则我们在查询数据时,手动添加的数据是不会被查出来的;

vtiger7菜单管理
处理问题 : 添加新模块,但是菜单上没有显示
这里写图片描述
与菜单有关的数据表:


vtiger_app2tab
vtiger_parenttab
vtiger_parenttabrel
vtiger_tab

这里写图片描述
我们要把新建的students放到 inventory 模块下面

  1. 把默认的父级目录tools该为inventory
    这里写图片描述
  2. app2tab
    这里写图片描述
    1 表示显示 0表示不显示;(最后一个字段)

  3. 查看parenttab表
    这里写图片描述

  4. parenttabbrel表中
    这里写图片描述
  5. 这样就可以啦
    这里写图片描述
    换掉图标
    vtiger用的icon 叫做vicon
    https://icomoon.io/app/
    这里写图片描述
    我们students的样式
    这里写图片描述

所以去demo.html路面选一个就好了

我选了一个user \e687

去style.css添加就行了

公司简介

 

自1996年以来,公司一直专注于域名注册、虚拟主机、服务器托管、网站建设、电子商务等互联网服务,不断践行"提供企业级解决方案,奉献个性化服务支持"的理念。作为戴尔"授权解决方案提供商",同时提供与公司服务相关联的硬件产品解决方案。
备案号: 豫ICP备05004936号-1

联系方式

地址:河南省郑州市经五路2号

电话:0371-63520088

QQ:76257322

网站:800188.com

电邮:该邮件地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。