在Hybris中插入图像

时间:2018-06-05 11:07:21

标签: hybris

使用siteResourcePath<theme:image>

在Hybris中包含图片的正确方法是什么?

我们应该在每种情况下使用它们?

如果我们使用<theme:image>,我们应该在theme-alpha-deskptop_en.properties中提及该属性吗?

1 个答案:

答案 0 :(得分:0)

  

在Hybris中使用包含图像的正确方法是什么   siteResourcePath或&lt; theme:image&gt;?

两者都用于显示静态图像或内容。 siteResourcePath,themeResourcePath和其他ResourcePath用于获取CSS,图像,字体,js等静态内容。

  

我们应该在每种情况下使用它们?

假设您希望在某个页面上显示静态图像,而不管您的主题,网站,lang。这意味着它对所有人都很常见,所以你可以简单地使用siteResourcePath或commonResourcePath(基于你的文件夹结构)。

<img src="${commonResourcePath}/images/my_image_300x300.jpg" alt="My Image" title="My Image" />

现在,在另一种情况下,您必须根据主题/网站/ lang显示不同的静态图像,因此您可以在此处声明每个属性文件中的相应值,并将代码传递给<theme:image>。各个文件的值已经偷看了。喜欢missingProductImage。

<theme:image code="img.missingProductImage.responsive.product" alt="${fn:escapeXml(product.name)}" title="${fn:escapeXml(product.name)}"/>

theme-alpha-desktop_de.properties

img.missingProductImage.responsive.product=/_ui/responsive/theme-alpha/images/missing_product_DE_300x300.jpg

theme-black-desktop_en.properties

img.missingProductImage.responsive.product=/_ui/responsive/theme-black/images/missing_product_EN_300x300.jpg

  

如果我们正在使用,我们应该提及该物业   theme-alpha-deskptop_en.properties?

正如我在上面的示例中提到的,如果您使用的是<theme:image>,那么您必须在所有相应的属性文件中提及相应的值(不仅仅是在theme-alpha-deskptop_en.properties中)。这取决于您的主题,UI体验和支持性语言。

    final String siteRootUrl = contextPath + "/_ui/" + uiExperienceCodeLower;
    final String sharedResourcePath = contextPath + "/_ui/" + SHARED;
    final String siteResourcePath = siteRootUrl + "/site-" + siteName;
    final String themeResourcePath = siteRootUrl + "/theme-" + themeName;
    final String commonResourcePath = siteRootUrl + "/" + COMMON;

enter image description here