我需要检查一下情况:
<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”的语法。我不知道它应该如何设置,在他们的文档中也找不到。
有人能帮上忙吗?
发布于 2017-10-13 20:27:34
我不相信这在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>您可以看到here如何创建业务对象扩展。
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());
}
}https://stackoverflow.com/questions/46728270
复制相似问题