0

私は、カテゴリを選択するために、ajax とドクトリン チェーン ドロップダウンを使用して作成してきました。それらをコンポーネントに入れました。それはこのように動作します:

http://www.plus2net.com/php_tutorial/ajax_drop_down_list.php

スキーマ上のデフォルトのカテゴリ ドロップダウン ビルドを置き換え、現在のテーブルに関連付けようとしています。入ったとき

/lib/form/doctrine/TabbleForm.class.php

コードでフィールドを削除します。

unset($this['category']);

そして、フォーム本体を持つ tamplate にコンポーネント コードを貼り付けます (この動的な ajax ベースのドロップダウンを使用):

include_component('add', 'selectcategory',array('catid' => 0));

お知らせがあります:

Unexpected extra form field named "category".

そのデフォルトコードをコンポーネント/モジュールのカテゴリフィールドコードに置き換えるにはどうすればよいですか?

4

1 に答える 1

0

テンプレートでフォームをどのように表示しますか? 次のような基本的な<?php echo $form; ?>または手動の使用:

<?php echo $form['field']->renderLabel() ?>
<?php echo $form['field']->render() ?>
<?php echo $form['field']->renderError() ?>

少なくとも を使用して、2 番目の方法を使用することをお勧めします<?php echo $form['field']->renderRow() ?>unsetこの方法では、Form クラスから categoy フィールドを取得する必要はありません。ただし、フォームと同じ方法でコンポーネントの select タグに名前を付ける必要があります。

フォームが表示される場合:

<select id="formname_category" name="formname[category]">...</select>

同じ名前を使用する必要があります(2番目の選択については推測します)。そうすれば、フォームに問題はなく、さらに重要なことに、categoryフィールドに関連するバリデーターも機能します!

于 2012-04-09T19:28:21.303 に答える