smartyの変数マニュアル・ガイド

以下は、smartyの変数一覧と条件分岐などの活用例です。

smartyの変数一覧

{$smarty.now}

現在のタイムスタンプ

{$smarty.now|date_format:'%Y年%m月%d日 %H:%M:%S'}
↓
2024年04月27日 17:05:36

{$smarty.server.SERVER_NAME}

現在のホスト名を取得

{$smarty.server.SERVER_NAME}
↓
www.s-contigo.website

{$smarty.server.SCRIPT_NAME}

現在のスプリクト名を取得

{$smarty.server.SCRIPT_NAME}
↓
/index.php

{$smarty.server.PHP_SELF}

現在のページの判定

{$smarty.server.PHP_SELF}
↓
/index.php/coding/guide/smarty

{$smarty.server.REQUEST_URI}

現在のURLを取得(プロトコル、サーバー名を除く)

{$smarty.server.REQUEST_URI}
↓
/coding/guide/smarty

{$smarty.server.QUERY_STRING}

サーバーのクエリを取得

{$smarty.server.QUERY_STRING}
↓

{$smarty.server.HTTP_REFERER}

リンク元のページ

{$smarty.server.HTTP_REFERER}
↓

{$smarty.server.HTTP_HOST}

ホスト名を表示

{$smarty.server.HTTP_HOST}
↓
www.s-contigo.website

{$smarty.server.HTTPS}

表示中のページがhttpsか判定

{$smarty.server.HTTPS}
↓
on

{$smarty.request.freo.mode}

現在のページの動作モードを取得

{$smarty.request.freo.mode}
↓
page

{$smarty.request.freo.work}

現在のページの動作モード(ワーク)を取得

{$smarty.request.freo.work}
↓
coding

{$smarty.server.REMOTE_ADDR}

IPアドレスを取得

{$smarty.server.REMOTE_ADDR}
↓
3.139.86.56

条件分岐などの活用例

アクセスしたURLに特定の文字を含む場合

このページのURL(https://www.s-contigo.website/coding/guide/smarty)に、smartyが含まれているかどうかを判定。

{if $smarty.server.REQUEST_URI|strstr:"smarty"}smartyを含む{/if}
↓
smartyを含む
  • 「strstr」の前の「|(パイプ)」の前後には空欄(スペース)を配置しない
  • 「strstr」の後ろの「:(コロン)」の前後には空欄(スペース)を配置しない

その他

デリミタ

{literal}とは異なった使用方法です。テンプレート内でデリミタの文字列を表示したいときに使用することができますが、 JavaScriptやCSS内で使用する場合はを使う方法もあります。

{ldelim}デリミタを表示します{rdelim}
↓
{デリミタを表示します}