我注意到salesforce 不允许覆盖所有对象的控制功能。假设您想在保存对象时执行某些操作,除非您创建自定义页面并包含标准控制器或扩展,否则无法附加该操作。或者,如果您想在所有页面上添加相同的元标记,我会遇到此限制。有没有更好的方法来做到这一点?
2 回答
一般来说 - 没有。粗略地说,如果 Salesforce 不允许您做某事,这通常意味着您做错了很好的暗示。我意识到这听起来像我是一个粉丝,但实际上 - 你能用具体的例子来扩展你的问题,你为什么想做这样的事情?例如,州长限制是邪恶的、烦人的等等——但它们会迫使你编写不会对数据库造成太大压力的有效代码。
如果您想在保存对象时做某事
这就是触发器的用途。问自己一个问题,您需要执行的“操作”是否应该仅从 Web UI 发生,或者也应从 API 执行(海量数据加载、智能手机应用程序等)。
如果您想在所有页面上添加相同的元标记
您可以通过向侧边栏添加组件来获得类似的结果。它不会涵盖所有情况(例如访问报告/仪表板),但如果不知道您真正想要的是什么,就很难说更多。再说一次 - 自定义 VF 页面覆盖在报告方面也无济于事。
我想将此添加为评论,但无法添加。
无论如何,对于您在评论中提到的示例,您可以在主页侧栏组件中添加该 jQuery 插件,并仅在您想要运行此插件的那些自定义对象上激活该插件。您可能已经知道我们可以通过查看记录 ID 的第 3 个字母来推断记录属于哪个对象,使用此逻辑检查记录是否属于您希望插件操作的自定义对象并运行插件.
但正如 eyecream 指出的那样,在侧边栏中添加脚本有其自身的局限性:您不能使用全局变量,侧边栏组件不会加载到报告和仪表板选项卡上等。
-ಸಮಿರ್</p>