Design patterns 我可以从扩展包向salesforce基本包页面添加元素吗?
我们正在开发一个包含扩展的Salesforce软件包。我们的想法是在基本软件包中提供基本功能,并作为软件包扩展提供单独的额外功能(使用单独的许可证和价格) 但是,在安装扩展时,我们需要向基本包中注入一些额外的元素。这种需要的例子有:Design patterns 我可以从扩展包向salesforce基本包页面添加元素吗?,design-patterns,package,salesforce,Design Patterns,Package,Salesforce,我们正在开发一个包含扩展的Salesforce软件包。我们的想法是在基本软件包中提供基本功能,并作为软件包扩展提供单独的额外功能(使用单独的许可证和价格) 但是,在安装扩展时,我们需要向基本包中注入一些额外的元素。这种需要的例子有: 在apex:pageBlockButtons元素上添加一个附加按钮。或者,一般来说,在基本包的visualforce页面中添加额外的html片段(我们可以称之为小部件) 在基本包控制器上的进程期间执行附加逻辑 那么问题是:Salesforce上是否有一个标准功能
- 在apex:pageBlockButtons元素上添加一个附加按钮。或者,一般来说,在基本包的visualforce页面中添加额外的html片段(我们可以称之为小部件)
- 在基本包控制器上的进程期间执行附加逻辑
那么问题是:Salesforce上是否有一个标准功能允许我们实现这些结果?如果没有,是否有一种设计模式可以应用于实现类似的功能?您可以使用最近推出的[apex reflection][1](阅读:新功能,小心bug!)来看看 对于附加逻辑,在基本包中定义一个接口。扩展包添加了一个新的实现,并在自定义设置(基本包的一部分)中“注册”类名。然后让您的代码检查任何条目的自定义设置,如果有,则运行处理附加逻辑所需的任何方法 对于visualforce页面,您可以执行类似的操作,但是扩展包接口类将使用DynamicVisualForce添加按钮
更简单的是,只需在扩展包中创建一些工件,可能是一个静态资源,但可以是基础包可以检查的任何东西。如果基本包查找工件并找到它,请打开增强的功能。希望这能让大脑活跃起来。你可以看看最近推出的[apex reflection][1](阅读:新功能,小心bug!) 对于附加逻辑,在基本包中定义一个接口。扩展包添加了一个新的实现,并在自定义设置(基本包的一部分)中“注册”类名。然后让您的代码检查任何条目的自定义设置,如果有,则运行处理附加逻辑所需的任何方法 对于visualforce页面,您可以执行类似的操作,但是扩展包接口类将使用DynamicVisualForce添加按钮 更简单的是,只需在扩展包中创建一些工件,可能是一个静态资源,但可以是基础包可以检查的任何东西。如果基本包查找工件并找到它,请打开增强的功能。希望能让脑汁流动起来