oracle apex中的全局跨应用程序页面或其他一些UI对象?

时间:2017-09-20 05:43:50

标签: oracle oracle-apex oracle-apex-5 oracle-apex-5.1

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

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

我完成了跨应用授权,现在我可以复制所有应用的菜单列表。 对此有一些更容易的良好做法吗?

1 个答案:

答案 0 :(得分: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的共享定制区域模板。