模块框架与扩展框架(sugarCRM,SuiteCRM)

时间:2018-10-06 20:25:55

标签: sugarcrm suitecrm

可能有一个简单的答案,但我只想澄清一下。

在文档中,我看到我们可以使用MODULE框架创建自定义视图,但是可以使用EXTENSION框架来完成。

您何时选择一个?这只是偏好问题吗?

更新

该指南(sugar 6.5开发人员指南)的第727页上说:“如果要将文件映射为custom / modules // views / view之外的 view ,这非常方便..php”

文件放置在custom / Extensions / modules / [module] / Ext / ActionFileMap

^但是我们也可以通过简单地在custom / modules / [module] /views/view..php中创建文件来创建自定义视图,因此在727上使用示例的唯一目的是当我们想要自定义视图文件时在那个文件夹外面?因此,整个“扩展框架”的工作方式仅用于此吗?

1 个答案:

答案 0 :(得分:2)

假设使用这些框架,您指的是 custom 文件夹和 modules 文件夹,我认为基本上存在以下情况:

  • 您要将视图添加到CRM的库存模块
    custom文件夹中添加视图和自定义项(如果可能) ),这样您添加的内容最少会在以后的CRM更新中被删除/覆盖/中断。同样,您可以更轻松地区分哪些文件是库存文件,哪些是您的库存文件。
  • 您要将视图添加到自定义模块(ModuleBuilder /手工制作)
    在此处,您可以选择将自定义视图放入{ {1}}文件夹,因为该模块仍由您自己控制。
    但是,您可能希望将客户/实例特定的视图放置在modules文件夹中(特别是如果将来重新安装/更新模块时,尤其如此)可以),而仅将custom文件夹(和模块的安装包)中所有安装中对自定义模块必不可少的视图放置。

更新

虽然我实际上并不特别熟悉ActionFileMap,但是我可以想到两个为什么要使用它的原因:

  • 将单个视图链接到多个模块中
    这样,您不必维护文件的多个副本。
  • Sugar具有其扩展框架 的普遍原因

    是为了允许开发人员使用任意文件名(在这种情况下甚至是任意文件位置),而不仅仅是单个预定义文件位置。
    这样,可以在不覆盖彼此文件的情况下安装软件包。
    如果它们都使用相同的预定义文件位置,则它们将撤消以前在相同文件位置安装的软件包的更改。 。
    为避免发生这种情况,每个程序包/自定义项都可以将具有不同,任意名称的文件拖放到预定义的扩展程序文件夹中,Sugar 快速修复和重建将汇总这些文件,无论它们的名称如何,进入module(此路径中没有custom/modules/<module>/Ext/*/*.ext.php!)。
    这使程序包的更改可以更轻松地共存。