Entry

【覚書】【Smarty】修飾子を用いて後演算しassignする

こつこつとfreoのテンプレートを作成しておりまして、page_allの分岐のために↑のようなのを使いたかったのでメモ。

コード

{math equation="x - 1" x=$page.id|explode:'/'|@count assign=lv}

経緯

ページIDをベースに階層レベルを取りたくて、スラでexplodeして配列数取ればいいじゃん!てなってから先が長かった。
以下、「絶対にプラグインは作らないぞ」という意志の元による格闘の履歴である。

  • {php}でエントリやページの変数を使用したくてもそれらはassignされてるヤツだから実行タイミングが異なるよHAHAHAがわかるまでが長かった
  • smartyでexplode出来ねえのかよクソがまでも長かった(マニュアル見てた)
  • freoでexplode準備されてるじゃん!
  • (Smartyマニュアルに戻る)countねえのかよクソが
  • replaceで/を半角スペースに置換して単語数にするか…精度落ちるけど…
  • ところで最初は0にしたいんだけどおいこれ演算どうすりゃいいんだエラーになるぞ
  • (ぐぐりまくる)
  • あっ @count でcount関数互換てえっなにその例外処理みたいな@なにこれえっ
  • とりあえずexplodeにもどす
  • あっ同じようなことQ&Aサイトに投げてる人がいる!
  • math…だと…
  • ていうかこれでassignてどうすりゃええねん
  • あっ引数ついてるまじかやった!!!

1時間くらいやってましたが、最初の数を妥協して1にすりゃよかったんじゃんね…

その後、「SmartyではすべてのPHP関数が暗黙的に修飾子として使用出来る」「配列を修飾子に引き渡すための@」の2点を理解しました… _(:3」∠)_

Pagination

Comment

  • コメントはまだありません。

Post Your Comment

  • コメントを入力してください。
登録フォーム
Name
Mail
URL
Comment
閲覧制限
投稿キー(スパム対策に、投稿キー を半角で入力してください。)

Utility

Calendar

03 2024.04 05
SMTWTFS
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 - - - -

Tag Crouds