2

Oracle Apex 中是否有可能创建一些可以在工作场所的其他某些应用程序中使用的对象?

我有一些应用程序实现了一些功能,但我需要在跨应用程序菜单列表中链接它们。而且,也许,一个或多个全局页面,我可以编辑一次(在主应用程序中),但它对其他应用程序中的所有页面都有影响。

我完成了跨应用授权,现在我可以复制所有应用的菜单列表。有一些更简单的好习惯吗?

4

1 回答 1

2

菜单

对于菜单,您可以创建一个动态(基于表格的)菜单,然后它可以在您的所有应用程序中使用。为了尽量减少在应用程序之间重复的 SQL,您可以将大部分隐藏在这样使用的视图中:

select menu_level
     , label
     , target 
     , is_current_list_entry
     , icon
  from my_dynamic_menu_view
 order by seq

事实上,您可以更进一步,使用返回 SQL 查询的函数,如下所示:

return my_menu_pkg.menu_query;

全局页面

您不能在应用程序之间共享全局页面。但是,如果您想要跨应用程序的公共区域 - 例如公共页面标题 - 您可以考虑在每个应用程序的全局页面上使用 PL/SQL 区域,其来源如下:

my_global_package.render_header_region;

该过程将使用sys.htp.prn调用来呈现常见的 HTML,例如

procedure render_header_region is
begin
  sys.htp.prn('<div class="my-header">');
  -- More stuff
  sys.htp.prn('</div>');
end;

实现此目的的其他方法可能是跨应用程序共享的插件区域类型(发布/订阅),甚至是包含所有常见 HTML 的共享定制区域模板。

于 2017-09-20T09:33:26.863 回答