Oracle APEX - 显示来自动态列表的卡片图像
Oracle APEX - Display card image from the dynamic list
我在我的页面上以卡片格式显示一个列表,但没有显示图像 - 只有一个灰色圆圈。这是我对动态列表的查询:
SELECT null as level_value,
TITLE as label,
null astarget,
null as is_current,
IMG_PATH as image,
'width="40" height="40"' image_attribute,
TITLE as image_alt_attribute,
DECRIPTION as attribute1
FROM TABLE1
ORDER BY TITLE
我也试过:
SELECT null as level_value,
TITLE as label,
null astarget,
null as is_current,
'<img src="' || IMG_PATH || '"/>' as image,
'width="40" height="40"' image_attribute,
TITLE as image_alt_attribute,
DECRIPTION as attribute1
FROM TABLE1
ORDER BY TITLE
我在检查页面时注意到 APEX 将我的图像标签添加到 span
:
的 class
<span class="t-Icon <img src='my image path' />">
而不只是将图片添加到卡片
这些列表的外观和结构是预定义的。我认为此列表模板将图像理解为 css class。
要工作,您需要提供有效的 css class
icons/class 列表:https://apex.oracle.com/pls/apex/f?p=42:icons
编辑。
也许您可以复制您正尝试使用的列表模板,然后进行必要的修改以获得图像的 url。
为此,您需要转到共享组件 >> 模板 >> 找到您的模板列表 >> 单击要复制的报告的最后一列 >> 编辑 html 以接收 url一个图像。在此页面上,您会发现几个替换字符串。
接收"image"的是#ICON_CSS_CLASSES#,但它默认用于"span" class,它的变化是创建一个 "img" 并将该替换字符串放在 "img" 的 "src" 中,类似于
<img src="#ICON_CSS_CLASSES#">
我找到了解决办法。其实两种解法。
1) 修改动态列表以利用 CARD_INITIALS 和属性
SELECT null as level_value,
TITLE as label,
null astarget,
null as is_current,
IMG_PATH as CARD_INITIALS,
'width="40" height="40"' image_attribute,
TITLE as image_alt_attribute,
DECRIPTION as attribute1,
'' as attribute2,
'<img src="' || IMG_PATH || '"/>' as attribute3
FROM TABLE1
ORDER BY TITLE
必须同时设置 CARD_INITIALS
和 attributes3
- 其他组合无法正常工作。
然后,在列表区域属性中,将列表模板设置为Cards
,将样式设置为featured
,将图标设置为-Display Initials
。
2) 经典报表 - 将其属性设置为卡片模板并使用 CARD_INITIALS、CARD_TITLE 和 CARD_TEXT 作为源查询中的别名。两种方法都能产生预期的结果
我在我的页面上以卡片格式显示一个列表,但没有显示图像 - 只有一个灰色圆圈。这是我对动态列表的查询:
SELECT null as level_value,
TITLE as label,
null astarget,
null as is_current,
IMG_PATH as image,
'width="40" height="40"' image_attribute,
TITLE as image_alt_attribute,
DECRIPTION as attribute1
FROM TABLE1
ORDER BY TITLE
我也试过:
SELECT null as level_value,
TITLE as label,
null astarget,
null as is_current,
'<img src="' || IMG_PATH || '"/>' as image,
'width="40" height="40"' image_attribute,
TITLE as image_alt_attribute,
DECRIPTION as attribute1
FROM TABLE1
ORDER BY TITLE
我在检查页面时注意到 APEX 将我的图像标签添加到 span
:
<span class="t-Icon <img src='my image path' />">
而不只是将图片添加到卡片
这些列表的外观和结构是预定义的。我认为此列表模板将图像理解为 css class。 要工作,您需要提供有效的 css class
icons/class 列表:https://apex.oracle.com/pls/apex/f?p=42:icons
编辑。
也许您可以复制您正尝试使用的列表模板,然后进行必要的修改以获得图像的 url。 为此,您需要转到共享组件 >> 模板 >> 找到您的模板列表 >> 单击要复制的报告的最后一列 >> 编辑 html 以接收 url一个图像。在此页面上,您会发现几个替换字符串。
接收"image"的是#ICON_CSS_CLASSES#,但它默认用于"span" class,它的变化是创建一个 "img" 并将该替换字符串放在 "img" 的 "src" 中,类似于
<img src="#ICON_CSS_CLASSES#">
我找到了解决办法。其实两种解法。
1) 修改动态列表以利用 CARD_INITIALS 和属性
SELECT null as level_value,
TITLE as label,
null astarget,
null as is_current,
IMG_PATH as CARD_INITIALS,
'width="40" height="40"' image_attribute,
TITLE as image_alt_attribute,
DECRIPTION as attribute1,
'' as attribute2,
'<img src="' || IMG_PATH || '"/>' as attribute3
FROM TABLE1
ORDER BY TITLE
必须同时设置 CARD_INITIALS
和 attributes3
- 其他组合无法正常工作。
然后,在列表区域属性中,将列表模板设置为Cards
,将样式设置为featured
,将图标设置为-Display Initials
。
2) 经典报表 - 将其属性设置为卡片模板并使用 CARD_INITIALS、CARD_TITLE 和 CARD_TEXT 作为源查询中的别名。两种方法都能产生预期的结果