1

だから私は自分のプロジェクトでdotLiquid (1.8.0) を使用して、 EO.pdf経由で PDF を作成するために使用されるいくつかの HTML テンプレートを作成しています。

したがって、基本的に、Days (== Dates) の配列の指定された日付が 1 週間であるかどうかを確認し、各週の後に改ページを追加したいと考えています。

私の問題をより明確にするために、最初に関連するコードを次に示します。

{% for day in plan.Days %}
   ...
    <table>
        <tbody>
            <tr class="footnote">
                <td>** Debug:</td>
            </tr>
            <tr><td>Index:  {{forloop.index}}, DateTypeChoice: {{plan.DateTypeChoice }}</td> <!-- just debug-statements -->
            </tr>
        </tbody>
    </table>

    {% assign endofweek = forloop.index | modulo: plan.DateTypeChoice %}
    <p>endofweek: {{endofweek}}</p>
    {%if endofweek == 0 %}
    <p>"dubididu Index: " {{forloop.index}}</p>
    <div style="page-break-before: always"></div>
    {% endif %}
{% endfor %}
</body>
</html>

plan.DateTypeChoice週の日数 (5 日または 7 日) を含む整数値です。それは私のドロップモデルで次のように定義されています

    public int DateTypeChoice { get; set; }

現在、私のテスト シナリオでは、デバッグ ステートメント (IndexおよびDateTypeChoice) は期待どおりの値を示していますが、実際には代わりにendofweekたとえば (以下を参照) が含まれており、その理由がわかりません。50

出力例は次のとおりです。

** Debug:
Index:  5, DateTypeChoice: 5
endofweek: 5 // This should be 0 imho

また、次のように、割り当てに括弧を付けようとしました

    {% assign endofweek = (forloop.index | modulo: plan.DateTypeChoice) %}

しかし、その後、エラーがスローされます (値を NULL にすることはできません)。

誰かがここで私を助けてくれることを願っています。おそらく私はモジュロを間違って使用していますか?ご存知のように、forloop.index は数値であり、モデルからテンプレートに与えられた数値もパーサーによって数値として扱われるため、アイデアがありません。

編集:

このスレッドに基づいて、割り当てではなくキャプチャーで試しましたが、同じ結果になりました。コード:

{% capture endofweek %} {{ forloop.index | modulo: plan.DateTypeChoice }}{% endcapture %}

    <p>"endofweek: " {{endofweek}}</p> //again 5 :-(
    {%if endofweek == 0 %}

ここで助けていただければ幸いです:-)

4

1 に答える 1