What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
{html_image}
は、HTML の <img>
タグを作成する
カスタム関数 です。
height
属性と width
属性を省略した場合は、画像ファイルから自動的に算出します。
属性名 | 型 | 必須 | デフォルト | 概要 |
---|---|---|---|---|
file | string | Yes | n/a | 画像のパス・ファイル名 |
height | string | No | 実際の画像の高さ | 画像を表示する高さ |
width | string | No | 実際の画像の幅 | 画像を表示する幅 |
basedir | string | no | web サーバのドキュメントルート | 相対パスの基準となるディレクトリ |
alt | string | no | “” | 画像の代替テキスト |
href | string | no | n/a | 画像にリンクする href の値 |
path_prefix | string | no | n/a | 出力パスのプレフィックス |
basedir
属性は、画像の相対パスの基準となるベースディレクトリです。
指定しなかった場合は、web サーバのドキュメントルートである
$_ENV['DOCUMENT_ROOT']
を使用します。
$security
が有効な場合は、画像のパスは
セキュアディレクトリ
内になければなりません。
href
は画像にリンクされた href の値です。
これを指定すると、image タグの周りに
<a href="LINKVALUE"><a>
タグを配置します。
path_prefix
には、任意で
出力パスを指定できます。これは、画像を違うサーバに配置したい場合に有効です。
前述の属性リストにないパラメータが与えられた場合は、作成された各
<img>
タグの内側に
名前/値 のペアで表されます。
{html_image}
は、画像を読み込んで幅と高さを取得するため、
ディスクへのアクセスが必要です。テンプレートの キャッシュ
を使用しない場合は、{html_image}
ではなく静的に image タグを使用するほうがパフォーマンス的にお勧めです。
Example 8.11. {html_image} の例
{html_image file='pumpkin.jpg'} {html_image file='/path/from/docroot/pumpkin.jpg'} {html_image file='../path/relative/to/currdir/pumpkin.jpg'}
上のテンプレートの出力
<img src="pumpkin.jpg" alt="" width="44" height="68" /> <img src="/path/from/docroot/pumpkin.jpg" alt="" width="44" height="68" /> <img src="../path/relative/to/currdir/pumpkin.jpg" alt="" width="44" height="68" />