ヒントとコツ
エディタとIDE
Latteに対応したエディタやIDEでテンプレートを書きましょう。より快適になるはずです。
- PhpStorm:Latteプラグインをインストールする
Settings > Plugins > Marketplace
- VS Code: Nette Latte + Neon、Nette Latteテンプレート、または最新のNette for VS Codeプラグインをインストールしてください。
- NetBeans IDEにはサポートが組み込まれています。
- Sublime Text 3: パッケージコントロールで
Nette
パッケージを検索してインストールし、Latteを選択します。View > Syntax
- 古いエディタでは、.latte ファイルに Smarty ハイライトを使用します。
PhpStormのプラグインは非常に高度で、PHPコードを完全に示唆することができます。最適に動作させるためには、型付きテンプレートを使用します。

Latteのサポートは、ウェブコードハイライターPrism.jsとエディタAceでも見ることができます。
Latte インサイドの JavaScript または CSS
LatteはJavaScriptやCSSの内部でとても快適に使うことができます。しかし、LatteがJavaScriptのコードやCSSのスタイルをLatteのタグと誤認しないようにするにはどうしたらよいのでしょうか。
選択肢1
文字と文字の間にスペース、改行、引用符を挿入することで、文字が {
の直後に続くような状況を避けることができます。
オプション 2
n:syntaxを使用している要素内のLatteタグの処理を完全にオフにします。
オプション 3
Latteタグの構文を、要素内の二重中括弧に切り替えます。
JavaScriptでは、変数を引用符で囲まないでください。
use
節の代わり
PHPで使われているuse
節を、クラスにアクセスする際に名前空間を書かなくてもいいように代用するにはどうしたらいいでしょうか。PHPの例です。
オプション1
use
節の代わりにクラス名を変数に格納し、Dog
の代わりに$Dog
を使用します。
オプション 2
オブジェクト$dog
がPets\Model\Dog
のインスタンスである場合、{if $dog->status === $dog::StatusHungry}
を使用することができます。
LatteでXMLを生成する
ラテはあらゆるテキスト形式(HTML、XML、CSV、iCalなど)を生成できますが、表示されるデータを適切にエスケープするためには、どの形式を生成しているのかをラテに伝える必要があります。そのために使われるのが
{contentType}
タグを使用します。
すると、例えば、同じような方法でサイトマップを生成することができるのです。
インクルードされたテンプレートからのデータの受け渡し
{var}
や{default}
で作成した変数はインクルード・テンプレートの中にのみ存在し、インクルード・テンプレートでは使用できません。
インクルードテンプレートからインクルードテンプレートにデータを戻したい
場合、テンプレートにオブジェクトを渡し、それにデータをセットする方法があり ます。
メイン・テンプレート
同梱のテンプレートincluded.latte
: