2012-05-02 59 views
0

该场景:如何在Oracle ApEx中动态生成映像映射的url?

我有一个从表中抽取记录的ApEx页面。该记录包含id,图表的name(实际为文件名),image map的代码为NVARCHAR2列,名称为image_map

当我渲染页面时,我有一个嵌入式HTML区域,它使用#WORKSPACE_IMAGES#&P19_IMAGE.替换作为图像的src替换图像。

每个图表都有热点(在image_map html标记中定义),它指向同一个ApEx页面上的其他图表。我需要嵌入:

  • 应用ID(如&APP_ID.
  • 会话(如&APP_SESSION.

我的问题:

当我尝试加载&APP_ID作为的一部分源代码预先分析数据库并插入ApEx开发应用程序的值(例如4500)而不是实际的目标应用程序(118)。

任何帮助将不胜感激。

回答

0

好了 - 我想我已经开放了足够长的时间......如果其他人试图以类似的方式使用顶点,似乎“顶点方法”是使用动态动作(从4.1.x看起来很稳定),然后你可以从那里做你的动态替换,而不是将js嵌入到页面本身中。

这似乎是最容易维护的,所以我会将其标记为答案 - 但如果别人有更好的主意,我愿意接受教育!

0

没有太多的反馈 - 猜我正在做一些非典型的?

如果有人试图做到这一点,我最终使用的解决方法是有一个JavaScript运行并替换URL中的一些自定义替换标志。该脚本嵌入在页面的模板和分配APEX魔法领域的局部变量,例如:

var my_app_id = '&APP_ID';

不漂亮,但它的作品...

0

我发现很难设置一个链接到另一个页面上的动态URL - 直接 - 试图将完整的URL作为单独的链接目标不起作用,至少在我简单化的世界里,我不是一个专家(正如AJ所说:任何智慧都会受到赞赏)。

相反,我通过链接设置了url的各个组件,并在目标页面上设置了“Before Header”PL/SQL过程,以将这些元素合并为完整的url并将其分配给完整的url页面项目:

APEX_UTIL.set_session_state(
    'PG_FULL_URL', 
    'http...'|| 
    v('PG_URL_COMPONENT1')|| 
    v('PG_URL_COMPONENT2')|| 
    '..etc..' 
); 

...其中PG_FULL_URL是“基于”存储在页项目价值“图片网址”类型“显示图像”的项目。

这是Apex 5。1顺便说一句,我不知道这些版本中是否有新的选项。