2017-01-18 7 views

答えて

1

ラテットフィルタは、関数呼び出しとは異なり、式の任意の部分に適用できるものではなく、可変印刷マクロのオプション機能です。

{expression_to_be_printed|filter1|filter2|filter3} 

dateほとんどがちょうどcalls format methodので、あなたはそれを直接使用することができますフィルタ:$timestampが異なる年にある場合

{(new DateTime())->format('z') - $timestamp->format('z')} 

これは、しかし、動作しません。 これを修正するには、DateTimediffメソッドを使用できます。メソッドによって返されたDateIntervalは、%a書式設定文字列を使用して日数に差異をもたらすformatメソッドを使用して書式設定できます。

{$timestamp->diff(new DateTime())->format('%a')} 

幸いにも、dateフィルタでは、書式設定の間隔も可能です。

{$timestamp->diff(new DateTime())|date:'%a'} 

ですが、これは醜いようです。より良い方法は、カスタムフィルタを定義して、{$post->timestamp|daysAgo}を使用することです。独自のフィルタを作成する方法については、Latte docsを参照してください。

+0

ラテライトフィルタを作成すると効果的です。ありがとうございました。 – Muhaha

関連する問題