Smartyを使っていると改行されてうまくレイアウトができない
Smartyでif文やforeachを使って記述を行なっていると、改行の出力がされる時とされない時がある。
基本的に、
{if}
{else}
{elseif}
{/if}
{foreach}
{/foreach}
{section}
{/section}
などのタグの後ろにある改行はHTMLに変換される場合に削除されます。
例えば、
{if true}[改行]
Smaryのテスト[改行]
{else}[改行]
これは表示されない[改行]
{/if}[改行]
テスト文章
となっているとすると、
Smaryのテスト[改行]
テスト文章
で表示されます。
{if true}Smaryのテスト{else}これは表示されない{/if}
テスト文章
となっていると、
Smaryのテストテスト文章
と表示されます。