zurmo(八)-数据库表分析及某些功能的页面实现

53 篇文章 0 订阅
51 篇文章 0 订阅

1.zurmo的数据库比较特别 , 它是没有那些状态表的之类的小表的。有的只是主表和多对多的关系表。zurmo是通过以下的这些表来实现状态之类信息的存储的。

1.customfield    2.basecustomfield  3.customfielddata

如果只有一个model的一个状态的话,在主表的中加一个customfield_id也可以,如果要加入多个model的状态的话,就不需要加customfield_id了,但是需要额外的字段了。(xxxx_customfield_id,yyyy_customfield_id等等)

3个表的关系如图:
这里写图片描述

从图可以很明显的看到它们之间的关系。

在 customfielddata表中存的就是那些小表的具体信息。以序列化的形式存入.就是 serializeddata 字段的值。

1.首先在module的 xxxxDefaultDataMaker.php 文件中定义好。重写的make()方法里具体的实现就是设置 那些小表的具体信息。

已 AccountsDefaultDataMaker.php 为例:

这里写图片描述

数据库序列化值如下:a:9:{i:0;s:10:"Automotive";i:1;s:7:"Banking";i:2;s:17:"Business Services";i:3;s:6:"Energy";i:4;s:18:"Financial Services";i:5;s:9:"Insurance";i:6;s:13:"Manufacturing";i:7;s:6:"Retail";i:8;s:10:"Technology";}

Array
(
    [0] => Automotive
    [1] => Banking
    [2] => Business Services
    [3] => Energy
    [4] => Financial Services
    [5] => Insurance
    [6] => Manufacturing
    [7] => Retail
    [8] => Technology
)
这是我自己打印出来的值。

2.步骤1完成之后,在model中的relations的配置。

'industry'=>array(static::HAS_ONE,'OwnedCustomField',static::OWNED, static::LINK_TYPE_SPECIFIC, 'industry'),

数组的第一个参数是 表之间的关系 ,’OwnedCustomField’表示的自定义的字段。第4个参数和第5个参数是一起的,第5个参数表示 account 表的一个字段的一部分 。有一个 industry_customfield_id 字段。至于为什么这样子命名以及第四个参数的意思,在zurmo的源码里注释有说。(PS:在class BeanModel里有说)

3.在customFields配置如下:

'customFields' => array('industry' => 'Industries','type'    => 'AccountTypes',),

4.在 xxxEditAndDetailsView 要加上对应的内容。

5.最后,不要忘记了在URL里加上 ?resolveCustomData=1 .执行这步之后数据库的customfielddata表里才有这个模块的这个数据,一开始是没有的。 (PS:如果自己在代码中加了一些新的值,一定要做这步,不然数据库是不会更新的,页面自然也不会显示了)

6.刷新页面,就可以发现所有的状态值都可以显示了。也可以正常的存到的数据库了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一些具有CRM和项目管理功能的PHP脚本: 1. Perfex CRM - 一个功能齐全的CRM和项目管理系统,可用于管理客户、项目、任务、发票和团队。它具有可定制的主题和插件系统。 2. SuiteCRM - 一个开源、免费的CRM解决方案,提供完整的客户管理、营销自动化和销售流程管理功能。它还具有可定制的主题和插件系统。 3. Vtiger CRM - 一个可定制的CRM解决方案,提供客户管理、营销自动化和销售流程管理功能。它还具有可扩展的插件系统和API。 4. Dolibarr - 一个免费的ERP和CRM系统,提供客户管理、销售管理、库存管理和项目管理功能。它还具有可扩展的插件系统。 5. YetiForce CRM - 一个强大的CRM解决方案,提供客户管理、销售管理、营销自动化和项目管理功能。它还具有可定制的主题和插件系统。 6. Zurmo CRM - 一个开源的CRM解决方案,提供客户管理、销售管理、营销自动化和项目管理功能。它还具有可定制的主题和插件系统。 7. Open source CRM - 一个免费的CRM解决方案,提供客户管理、销售管理和营销自动化功能。它还具有可定制的主题和插件系统。 8. EspoCRM - 一个开源的CRM解决方案,提供客户管理、销售管理和营销自动化功能。它还具有可定制的主题和插件系统。 9. ProjectSend - 一个免费的文件共享和项目管理系统,可用于与客户和团队共享文件和任务。它具有可定制的主题和插件系统。 10. Collabtive - 一个开源的项目管理系统,提供任务管理、时间跟踪和团队协作功能。它还具有可定制的主题和插件系统。 11. Feng Office - 一个开源的项目管理和协作系统,提供任务管理、时间跟踪和文档共享功能。它还具有可定制的主题和插件系统。 12. ProjectPier - 一个开源的项目管理系统,提供任务管理、时间跟踪和团队协作功能。它还具有可定制的主题和插件系统。 对于免费的解决方案,你也可以考虑以下选项: 1. Zdoo - 一个免费的CRM和项目管理系统,提供客户管理、销售管理、任务管理和团队协作功能。 2. Group Office - 一个开源的组织协作平台,提供电子邮件、日历、文件共享、任务管理和团队协作功能。 3. Feng Office Community Edition - 一个开源的项目管理和协作系统,提供任务管理、时间跟踪和文档共享功能

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值