0

私はsymfonyフレームワークが初めてです。私は既存のプロジェクトに取り組んでいるので、symfony 1.2 を使用して選択ボックスをテキストボックスに変更したいと考えています。

4

1 に答える 1

0

より多くの情報とコードスニペットが役立ちましたが..

これを実現できる場所はいくつかありますが、最も直接的で、できれば一般的な 2 つの場所に行きます。

1) フォームは既にカスタマイズされており、おそらくそのまま使用できますplugins/yourPlugin/lib/form/yourForm.class.php

ここには次のようなものがあります$this->setWidget('my_input', new sfWidgetChoice(array([...])));

多くの「選択」ウィジェットがあります (データベースから取得した場合は Doctrine または Propel)。

に変更する必要があります。$this->setWidget('my_input', new sfWidgetFormInput());

2)フォームは以前に変更されておらず、生成されたフォームです

あなたはあなたのactions.class.php(またはcomponents.class.php)に行き、それが言う場所を見つける必要があります$this->form = new yourForm();

で新しいフォームplugins/yourPlugin/lib/formを作成し、以前のフォームを拡張します。

class yourNewForm extends yourForm

それから加えて

public function setup()
{
 $this->setWidget('my_input', new sfWidgetFormInput());
}

おそらくバリデーターも更新する必要があります。そうしないと、「選択ボックス」形式のデータが必要になります。

http://www.symfony-project.org/api/1_1/sfWidgetFormInput

于 2012-10-23T20:11:53.417 に答える