Vtiger CRM 动态菜单的定制方法
来源:互联网 发布:plc虚拟仿真软件 编辑:程序博客网 时间:2024/06/06 07:11
Vtiger CRM 的菜单设计为动态的,并且保存在数据库当中,很容易实现权限管理。
下面为在vtiger crm 5.2.1 上实现的菜单自定义的方法:
菜单定义后台数据库表主要为3个:
vtiger_tab ---所有下拉子菜单信息
vtiger_parenttab ---主菜单列表
vtiger_parenttabrel----主菜单包含的子菜单列表
所有主菜单和子菜单尽在其中矣。
CREATE TABLE `vtiger_tab` (
`tabid` int(19) NOT NULL DEFAULT '0',
`name` varchar(25) NOT NULL,
`presence` int(19) NOT NULL DEFAULT '1',
`tabsequence` int(10) DEFAULT NULL,
`tablabel` varchar(25) NOT NULL,
`modifiedby` int(19) DEFAULT NULL,
`modifiedtime` int(19) DEFAULT NULL,
`customized` int(19) DEFAULT NULL,
`ownedby` int(19) DEFAULT NULL,
`isentitytype` int(11) NOT NULL DEFAULT '1',
`version` varchar(10) DEFAULT NULL,
PRIMARY KEY (`tabid`),
UNIQUE KEY `tab_name_idx` (`name`),
KEY `tab_modifiedby_idx` (`modifiedby`),
KEY `tab_tabid_idx` (`tabid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `vtiger_tab` (
`tabid` int(19) NOT NULL DEFAULT '0', --------------------菜单ID
`name` varchar(25) NOT NULL, ---------菜单名字
`presence` int(19) NOT NULL DEFAULT '1',1-屏蔽,0-显示,2--暂时未知
`tabsequence` int(10) DEFAULT NULL,-----------tab 顺序
`tablabel` varchar(25) NOT NULL, -----------在界面显示的文字
`modifiedby` int(19) DEFAULT NULL,
`modifiedtime` int(19) DEFAULT NULL,
`customized` int(19) DEFAULT NULL,
`ownedby` int(19) DEFAULT NULL,
`isentitytype` int(11) NOT NULL DEFAULT '1',
`version` varchar(10) DEFAULT NULL,
PRIMARY KEY (`tabid`),
UNIQUE KEY `tab_name_idx` (`name`),
KEY `tab_modifiedby_idx` (`modifiedby`),
KEY `tab_tabid_idx` (`tabid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
系统登陆后系统为通过下面的sql 语句来获取所有菜单的列表信息的:
select name,tablabel,parenttab_label,vtiger_tab.tabid from vtiger_parenttabrel inner join vtiger_tab on vtiger_parenttabrel.tabid = vtiger_tab.tabid inner join vtiger_parenttab on vtiger_parenttabrel.parenttabid = vtiger_parenttab.parenttabid and vtiger_tab.presence in (0,2) order by vtiger_parenttab.sequence, vtiger_parenttabrel.sequence
以下为以添加一个自定义菜单列为例子:
编辑根目录下的文件:
parent_tadata.php
$parent_tab_info_array=array(1=>'My Home Page',2=>'Customer Info',3=>'Sales',4=>'Support',5=>'Analytics',6=>'Inventory',7=>'Tools',8=>'Settings',10=>'my_add');
$parent_child_tab_rel_array=array(1=>array(3,9,),2=>array(6,4,7,9,),3=>array(7,6,4,9,),4=>array(15,6,4,9,),5=>array(25,1,),6=>array(),7=>array(30,),8=>array(),10=>array(9,));
后面的my_add 为我新添加进去的。
在数据库表vtiger_parenttab,添加一条记录:
11,"my_add",11,0
添加一条记录到vtiger_parenttabrel
11,9,11
意思为该菜单下包含一个calander 的菜单列表tabid 为9
可以在表vtiger_tab中看到。
可以执行上面提到的sql 语句检查,可以找到新的定义菜单了。
修改include 下的语言定义文件,否则菜单 会显示为空,不能正常显示:
include/language/en_us.lang.php
'my_add' => 'My Add define',
到此,自定义的菜单项目就已经完成了。
- Vtiger CRM 动态菜单的定制方法
- vTiger 的快速菜单
- Vtiger CRM的安装与汉化全过程
- vTiger CRM和BlackBerry手机的集成
- 免费开源的vtiger crm 客户关系管理系统- vtiger crm 模块功能详细介绍
- vTiger CRM 首页
- vtiger crm安装
- vtiger CRM
- Vtiger CRM简介
- vTiger CRM 首页中的内容
- vTiger CRM WebMail收发设置
- VTiger CRM WebServices API实例
- vTiger:配置Elastix 2.3里面的vTiger CRM中的Click to Call, Call in popup 点击呼叫,弹屏功能
- vTiger 汉化:Elastix 2.3内置vTiger CRM 5.2.1
- Vtiger CRM-非常好用的开源免费客户关系管理系统
- 用户需要有Support Profile才能编辑VTiger CRM的工单
- Vtiger CRM 提示 Sorry! Attempt to access restricted file.的另类出现情况
- 使用Vtiger CRM进行客户关系管理3
- 毕业6年后第二次找工作
- wp主机
- MVC2.0中做分页和排序
- 值得看一看的话
- FICO凭证增强之保存前的修改
- Vtiger CRM 动态菜单的定制方法
- 常用的一些javascript代码
- 论ACM与泡妞(ZZ)
- eclipse快捷键(转)
- 在win7上安装oracle 10g
- mysql数据库的data文件夹中只有.frm的文件,而没有.myd和.myi
- Java常用的日期处理类
- IO特性(1): socket相关的几个高级IO函数(Unix网络编程笔记)
- nfs做为根文件系统