WEBアプリケーション研究室 開発ノート TOP

WEBアプリケーション研究室 開発ノート [symfony] admin generatorでラジオボタン

スポンサーサイト

-------- --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

    このエントリーをはてなブックマークに追加

admin generatorで


edit:
fields:
status: { type: なんとか}

と指定するフォームのタイプはObjectヘルパーが呼び出されて使用されます。
Objectヘルパーはその名のとおりOMクラスのインスタンスが渡されてフォームが生成されるので、データベースに無いような決まった値、例えば状態を0と1であらわしたりするようなカラムをラジオボタンで生成したい時、うまくいきません。つまり、object_radioヘルパーはありません
1.2からはFormクラスベースになったらしいので出来るのかな?まだ、試してないのでなんともいえませんが、1.1系で実現するにはパーシャルフィールドを使えばいけそうです。

edit:
display: [,,,,,, _radio_status]
fields:
radio_status: { name: 状態 }

等と設定してtemplates/_radio_status.phpに

echo radiobutton_tag('job[status]', '0', $job->getStatus() == 0)
echo label_for ('job_status_0', '非表示')
echo radiobutton_tag('job[status]', '1', $job->getStatus() == 1)
echo label_for ('job_status_1', '表示')

これだけだとupdateされません。
dispayに無い項目はupdateのプロセスから外されます。
actionをちょっといじってupdateするように変更します。

class jobActions extends autojobActions
{
protected function updateJobFromRequest()
{
$status = $this->getRequest()->getParameter('job[status]');
if(isset($status))
{
$this->job->setStatus($status);
}
parent::updateJobFromRequest();
}
}


[symfony 1.1.6]
スポンサーサイト

    このエントリーをはてなブックマークに追加
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。