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
代表创建的是age
在vtiger_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 模块下面
- 把默认的父级目录tools该为inventory
-
app2tab
1 表示显示 0表示不显示;(最后一个字段) -
查看parenttab表
- parenttabbrel表中
- 这样就可以啦
换掉图标
vtiger用的icon 叫做vicon
https://icomoon.io/app/
我们students的样式
所以去demo.html路面选一个就好了
我选了一个user \e687
去style.css添加就行了