だから私は自分のプロジェクトで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
たとえば (以下を参照) が含まれており、その理由がわかりません。5
0
出力例は次のとおりです。
** 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 %}
ここで助けていただければ幸いです:-)