CakePHP2系にTwigを導入

公開日: : CakePHP, CakePHP2, IT, Twig, テンプレートエンジン


CakePHP2系でも慣れているSmartyを使おうと思ったものの、良いプラグインが見つからず断念。
そこで、Symfonyで使われているテンプレートエンジン「Twig」を使ってみることにしました。
導入までの覚書。

 ダウンロードと設置

 プラグインのダウンロード

まず、プラグインを以下からダウンロード

解凍した状態(TwigViewフォルダ配下)は以下の様な感じです。

※readme.mdが説明書になります(全て英語ですが)。

 Twigのダウンロード

プラグインがあるだけでは、動かないので「Twig」本体もダウンロード。

 CakePHPに設置

必要な物だけCakePHPのPlugin配下に置きます。

※「Twig」本体は、解凍したプラグインのVendorフォルダ配下に置きます。

 初期設定とサンプル作成

 コントローラー

利用するコントローラーに以下を追記します。

public $view = 'TwigView.Twig';

※全体で反映させるならば、AppControllerに記述するだけでOKです。

 bootstrap.php

/app/Config/bootstrap.phpに以下を追記します。

CakePlugin::load('TwigView');

 ビュー

ビューの拡張子は、「tpl」にします。
記述方法は、Smartyとちょっと違います。

 導入前

例1)

<?php echo $title ?>

例2)

<?php echo $this->Html->charset(); ?>
<?php echo $this->Html->css('ファイル名'); ?>
導入後

例1)

{{title}}

例2)

{{html.charset()}}
{{html.css('ファイル名')}}

やはり導入したほうがすっきりして良い感じですね。

 注意点

Elementの呼び出し方が説明(readme.md)に書いているとおりにやっても出来ません。

どうやら以下のようにやるようになっている模様。

{% include 'Elements/ファイル名.tpl' %}

element function doesn&#39;t work · Issue #8 · m3nt0r/cakephp-twig-view · GitHub

 参考

広告

関連記事

no image

Capistranoで簡単デプロイ -開発用サーバー編-

cakePHPを使って開発しているサービス()で、リリース周りを楽にしたいなと思いCapistran

記事を読む

SnapCrab_NoName_2012-12-1_14-44-53_No-00

アプリのためにFacebookページ作成 -会社のメールアドレスで管理する方法-

アプリを作ると、色々と宣伝をしたくなります。 宣伝の方法は色々ありますが、今回はFacebookペ

記事を読む

no image

Facebookがちょっとコワイ vol.1 -自分の情報をコントロールできない-

Facebookの最近の広がり方などを見ていて、少々不安を感じたので思ったことをつらつらと書いてみま

記事を読む

no image

github-flowを使っての開発(3) -1つのプロジェクトを複数人で開発-

今まで2回ほどgithub-flowをもとにした開発の流れを書きました。 今回は、複数人で開発をする

記事を読む

iPad(Retinaディスプレイモデル)にiOS7を入れてみた

iPadにiOS7を入れてみたので、その報告。 iPhone5にはまだ入れておかないでおこうと思っ

記事を読む

no image

iPhoneアプリ開発 -UIButtonのTouch Down、Touch up Inside、Touch up Outsideの使い方-

* Touch DownとTouch up Inside、Touch up Outsideの違い

記事を読む

iPhoneアプリ開発 芳名帳アプリ作成(2) -記帳画面作成-

* 今までの流れ - * 画面構成 今回の芳名帳アプリは以下の画面で構成しています。 -

記事を読む

no image

iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(2)-

* 前回 は、「ユーザーにAPI利用のための認可」をおこなってもらうところまでやりました。 本エン

記事を読む

no image

iPhoneアプリを開発してての疑問 -教えてエライ人!-

MacでiPhoneアプリを開発してて疑問に思ったのの解決してないことを列挙。 知識不足をさらけ出し

記事を読む

no image

str_padとsprintfの速度

PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑