php > framework > symfony > plugin
このプラグインはアドミンジェネレータに確認画面を追加した拡張版ジェネレータクラス(sfPropelAdminGeneratorPlus)と確認画面を含むテーマ(default-plus)を提供します。
プロジェクトルートディレクトリでsymfonyコマンドでプラグインをインストールします。
$ symfony plugin-install http://develop.ddo.jp/symfony/sfPropelAdminGeneratorPlusPlugin-0.0.1.tgz
インストール後はプラグインが読み込まれるように、キャッシュをクリアします。
$ symfony cc
generator.ymlで使用するクラスとテーマを変更します。classにはsfPropelAdminGeneratorPlusを、themeにはdefault-plusを指定します。
generator:
class: sfPropelAdminGeneratorPlus ## ジェネレータクラスを変更
param:
model_class: XXXX
theme: default-plus ## テーマを変更
sfPropelAdminGeneratorPlusはsfPropelAdminGeneratorの拡張クラスですので、defaultテーマを指定しても正しく動作します。そのため、確認画面が必要なときは default-plusに、必要なくなったときはdefaultを指定するというような設定ファイルだけでの運用が可能です。 また、クラス、テーマを変更後はキャッシュをクリアすることを忘れないでください。
$ symfony cc
確認画面の設定はgenerator.ymlでeditやlistと同様に、confirmキーで指定することで行うことができます。
generator:
class: sfPropelAdminGeneratorPlus
param:
model_class: XXXX
theme: default-plus
## 確認画面の設定
confirm:
display: [name, _description] ## 表示したい項目を指定
fields:
name: {name:名前} ## 表示時のラベル名を指定
パーシャル、コンポーネント自身が一覧画面(list)、入力画面(edit)、確認画面(confirm)のどこから呼ばれているかを$typeで確認できます。以下の例は確認画面とそれ以外で表示する内容を変更しているパーシャルの例です。
<?php // 確認画面から呼び出された場合の処理 if ($type == "confirm"){ echo $task->getDescription(); // 確認画面以外から呼び出された場合の処理 }else{ echo mb_strcut($task->getDescription(), 0, 5) . "..."; } ?>