Oracle Apex模态对话框链接被错误地转换

时间:2018-08-31 11:36:37

标签: oracle templates plsql oracle-apex

我有一个通过Javascript的Oracle Apex 18.1 对话框。 在该模式对话框中,有一个经典报告区域,其中显示了一堆图像,这些图像都附加了超链接。我使用的模板如下:

<a href="f?p=&APP_ID.:40:&APP_SESSION.::NO:RP:P40_VIDEOID:#VIDEOID#">
    <img src="https://img.youtube.com/vi/#VIDEOID#/mqdefault.jpg" width="210" height="118"> 
</a>

问题在于,Apex在打开“模态对话框”之前将链接转换为类似这样的内容:

<a href="javascript:apex.navigation.dialog.close(true,'f?p=100:40:4815510542999:::::');::NO:RP:P40_VIDEOID:vFZHArtFt8Y" class="WATCHED_VIDEO_0">
    <img src="https://img.youtube.com/vi/vFZHArtFt8Y/mqdefault.jpg" width="210" height="118"> 
</a>

并且中断页面,因为其中的Javascript无效-未替换Item参数,因此链接不起作用。

要使顶点包含该项目值,我该怎么办?

1 个答案:

答案 0 :(得分:4)

也许您可以在选择中创建url,然后在模板中使用。在您的SQL中,使用APEX_UTIL.PREPARE_URL创建URL,并将该列命名为url

SELECT
...,
APEX_UTIL.PREPARE_URL(
    p_url => 'f?p=' || :APP_ALIAS || ':40:' || :APP_SESSION ||'::NO::P40_VIDEOID:' || mytable.video_id,
    p_checksum_type => 'SESSION') as url
FROM
mytable

在模板中,您可以像使用#VIDEOID#一样使用url值

<a href="#URL#">
    <img src="https://img.youtube.com/vi/#VIDEOID#/mqdefault.jpg" width="210" height="118"> 
</a>