簡體   English   中英

商店在.isml模板中獲取日期

[英]intershop get date in .isml template

我需要檢查條件:

<isif condition="#not ((Product:QLC_Enable EQ 'true') AND (Product:QLC_ValidTo > NOW) AND (Product:QLC_Quantity < 1))#">                        
    <span class="items-in-stock align-left">
        <isinclude template="product/inc/CC_StockStatus"/>
    </span>
</isif>

但是使用此段似乎是不正確的:

Product:QLC_ValidTo > NOW

特別是問題在於“ NOW”的語法。 我不知道應該如何設置,無法在他們的文檔中找到。

有人可以幫忙嗎?

我不認為這在isml中是可能的。 最好寫一個ProductBO擴展並用Java編寫條件。 然后,您可以在isml中調用擴展名以顯示該元素。 避免在isml中放置過多的邏輯,它只能用作視圖。

<isif condition="#NOT ((Product:QLC_Enable EQ 'true') AND (Product:Extension("ProductExt"):isValid) AND (Product:QLC_Quantity < 1))#">                        
    <span class="items-in-stock align-left">
        <isinclude template="product/inc/CC_StockStatus"/>
    </span>
</isif>

您可以在此處查看如何創建業務對象擴展。

public interface ProductBOExtension extends BusinessObjectExtension<ProductBO>
{
    public static final String EXTENSION_ID = "ProductExt";
    public boolean isValid();
}

實現類

public class ProductBOExtensionImpl extends AbstractBusinessObjectExtension<ProductBO> implements ProductBOExtension
{
    public boolean isValid(){
        return this.getExtendedObject().getAttributeValue("QLC_ValidTo").getDateValue().after(new Date());
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM