我正在规划一个类似于 Copper Project 或 PHP Collab 的基于 Web 的项目管理/协作应用程序,使用 concrete5 作为我的框架。
我想集成一些功能,但我不完全确定如何实现这一点,看看 DB 表是如何用块生成的。
我想到的功能如下: 1)当客户经理或项目经理创建新客户时,他们必须为客户分配三个字符的前缀。示例:如果(运气不好)我将 Diesel 添加为客户端,我想为它们分配前缀 DSL。
2) 客户经理或项目经理新建项目时,项目ID应与客户直接相关,而不是与所有客户的项目总数相关。换句话说,Diesel 与我的第一个项目的项目 ID 应该是 DSL001,而不是 DSL016,因为在此之前还有十五个其他客户的项目(参见 Copper 和 PHP Collab,它们遵循全局项目 ID 逻辑,如与每个客户的项目 ID 逻辑相反)。此项目 ID 将在 AM/PM 创建的前端项目页面上可见,也可用作成本估算、发票等内容的参考 ID。
所以从工作流程规划的角度来看,这就是我遇到问题的地方。我对 MySQL 的理解是,如果我想遵循自己的项目 ID 逻辑,则必须为每个客户创建一个新表,以包含有关其项目的所有数据,以便数据库可以正确输出唯一的 ID 号。
但是,我对 C5 的理解是,例如,如果在创建此应用程序的过程中,我决定将项目表单创建为要插入到前端模板中的块,则 db.xml 文件将创建一个通用的数据库中所有客户的项目数据表,而不是每个客户一个。
有什么建议可以在 C5 框架的上下文中完成我想要做的事情吗?
如果有什么不清楚的地方,我可以展示一些项目页面外观的模型。
谢谢!