我不相信这在 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());
}
}