0

うまくいかない状態があります:

<isif condition="#(Product:QLC_ValidTo > current_date)#">                        
    <span class="items-in-stock align-left">
        <isinclude template="product/inc/CC_StockStatus"/>
    </span>
</isif>

両方のオペランドに有効な値が 2 つあります。

製品:QLC_ValidTo = 29.11.16 および current_date = 13.10.17

しかし、うまくいきません。

単純な比較として実装しようとするのは間違っていると思いますが、値を別の形式に変換する必要がありますか?

4

1 に答える 1

5

次のアプローチには同意しません。以前の投稿を参照してください。isml のみを主張する場合は、次のことができます。

<%
    getPipelineDictionary().put("current_date",new Date());
%>
<isif condition="#(Product:QLC_ValidTo:getTime > current_date:getTime)#">                        
    <span class="items-in-stock align-left">
        <isinclude template="product/inc/CC_StockStatus"/>
    </span>
</isif>

ミリ秒を long として取得し、gt 演算子と比較します。これらの演算子は数値のみを処理します。

前に言ったように、むしろ拡張機能でこれを行います。単体テスト、タイムゾーンの問題への対処、読みやすさの向上などを行うことができます。

于 2017-10-13T15:29:51.173 に答える