SEO対策ならSEO knowledge

TOPプログラムPHP>symfony

symfony関数リファレンス setTemplateの使い方(sfActionsクラス)

構文

$this->setTemplate($name)

引数

$name テンプレート名

意味

現在のactionに別のテンプレートを設定する。
テンプレート名は現在実行しているモジュールのテンプレートディレクトリを基準とした相対パスで表される。

実際に使用されるテンプレートのパスは、

"[実行中モジュールのテンプレートディレクトリ]" + "/" + "[引数の値]" + "[アクションの結果(SuccessやErrorなど)]" + ".php"

同じモジュールの別のテンプレートを指定する時、例えば'entry/create'アクション内で'entry/edit'アクションのテンプレートを表示する時は

$this->setTemplate('edit')

とすれば、"editSuccess.php"が使用される。

アクションがエラーを返した時、つまり

  • バリデートに失敗してhandleErrorメソッドを実行した場合
  • "return sfView::ERROR" とした場合

は、エラーのテンプレートが使用される(上の例だと"editError.php")。

また、アクションの返り値を

  return 'Hoge';

とすると、"editHoge.php"が使用される。

使い所

"symfony propel-generate-crud"で作成されるCRUDのコードに見られるように、「createアクションでeditのテンプレートを使用する」というのが一般的。

他に、「複数の検索方法を別々のアクションで実装したいが、結果表示は同じにしたい」という場合にも有効。

上述のように、相対パスを指定する事で別のモジュールのテンプレートを使用することもできるが、ややこしくなるので控えた方がよい。

 このエントリをはてなブックマークに登録 このエントリをlivedoorクリップに登録 Yahoo!ブックマークに登録 このエントリを del.icio.us に登録 Google Bookmarks に追加
[ 新規 | 編集 | 削除 | 凍結 ]    [ 新着 | 履歴 | ヘルプ ]

この記事に関連する求人

携帯サイト

携帯サイトはこちら

QRコード

http://it.kndb.jp/m

記事を書く

関連エントリ

関連ブックマーク

ページ上部へ