1

これは簡単に答えられる質問かもしれませんが、私は少し困惑しており、Smarty を理解するのに十分な時間勉強したことがありません。

数字を 3 桁の形式で表示する必要があります。

8   = 008
18  = 018
118 = 118

いくつかのコンテキストを追加するために、基本的に私は Prestashop テンプレートを編集しようとしています (これまでスマートに触れたことはありません)。現在、価格は 1.223.014 と表示されています。価格の最初の部分とは異なる形式にできるように、最後の 3 桁を分離したいと考えています。したがって、私は次のようなことができるでしょう

<span class="abc">1.223</span>.<span class="xyz">014</span>

これを行うためのより簡単な方法があるかどうかはわかりませんが、基本的に現在の価格を 1000 で割っています (最後の 3 桁を削除するため)。桁は99以上)

あなたの助けに感謝します。

ありがとう

4

1 に答える 1

2

あなたの例の解決策 {"%03d"|sprintf:8}

いずれにせよ最後の3桁が必要な場合の可能な解決策 {'1.223.014'|substr:-3}

html:

<span class="abc">{'1.223.014'|substr:0:-4}</span>.<span class="xyz">{'1.223.014'|substr:-3}</span>

注: 数値の長さが 4 未満の場合、これは機能しません。

数字の中にドットがあるかどうかを確認したい場合は、これを行うことができます

{if '1.223.014'|substr_count:'.' > 0}
..dots inside..
{else}
..no dots inside..
{/if}

smarty 3 でテスト済み。

于 2012-08-28T09:53:43.187 に答える