自分用メモです。
既に存在するテーブルに対してDoctrineを使う
既存テーブルに迷惑を掛けないようにする。
config/doctrine/schema.yml
にテーブル定義をyamlで書く。検索できればいいからとりあえずこんな感じで。
Member: columns: id: { type: integer, notnull: true, primary: true, autoincrement: true } name: { type: string(255), notnull: true } email: { type: string(255), notnull: true }
その次にFindする。
Controller内で
<?php $member = Doctrine::getTable('Member')->findOneByName($name);
とかかしてやる。
テンプレートにJSONを渡したい
Controllerで
action.class.php <?php $this->sample[] = array( 'mid' => $mid, 'point' => $point, 'name' => $member_name, );
とかして与えた変数をテンプレート側でJSON展開したい場合。
Templateで
indexSuccess.php <script> var csvuploadAllData = <?=json_encode($sf_data->get('sample')->getRawValue());?> </script>
View.xmlをモジュール単位で効かせる。
apps/(app_name)/modules/(module_name)/config/view.yml を作成して、テンプレートごとにレイアウトの有無を切り替えたり。
(view.yml) default: has_layout: true layout: my_admin indexSuccess: has_layout: false
Configを使って設定値をアレしたい。
設定
Configを設定できるのは2か所
config/app.yml apps/*****/config/app.yml
moduleの下に配置できるかと思ったけどできない。
all: foo: bar:
取得
上記の場合、
sfConfig::get('app_foo_bar')
というようにする。
深さは2段階で調整すること。たとえば上記のymlの場合
sfConfig::get('app_foo')
ではNULLが返ってくる。