如何在Oracle ApEx中动态生成图像映射的URL?

时间:2012-05-02 20:58:13

标签: hyperlink oracle-apex

情景:

我有一个ApEx页面从表中提取记录。该记录包含id,图表的name(实际上是文件名)以及image map作为NVARCHAR2列的代码image_map。< / p>

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

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

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

我的问题:

当我尝试将&APP_ID作为源的一部分加载到数据库中时,它会预先解析它并插入ApEx开发应用程序的值(例如4500)而不是实际的目标申请(118)。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

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

如果其他人试图这样做,我最终使用的解决方法是运行javascript并替换网址中的一些自定义替换标记。该脚本嵌入在页面模板中,并将APEX魔术字段分配给局部变量,例如:

var my_app_id = '&APP_ID';

不漂亮,但有效......

答案 1 :(得分:0)

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

这似乎是最易于维护的,所以我会将此标记为答案 - 但如果其他人有更好的想法,我会接受教育!

答案 2 :(得分:0)

我发现很难在指向其他网页的链接上设置动态网址 - 直接 - 尝试将完整网址作为单独的链接目标包含起来并不起作用,至少在我的简单化世界中,我是这样做的。我不是专家(正如AJ所说:任何智慧都赞赏)。

相反,我通过链接设置了网址的各个组成部分,并在“标题之前”设置了#l目标页面上的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是类型&#39;显示图像&#39;,&#39;基于&#39;的项目。 &#39;图片网址存储在页面项目值&#39;。

这是Apex 5.1顺便说一下,我不知道这个版本中是否有一些是新版本。