2011-06-24 42 views
0

我的schema.yml:默認形式 - 添加新的輸入和改變選擇

User: 
    columns: 
    id: 
     type: integer(4) 
     autoincrement: true 
     primary: true 
    username: 
     type: string(255) 
    password: 
     type: string(255) 
    attributes: 
    export: all 
    validate: true 

Group: 
    tableName: group_table 
    columns: 
    id: 
     type: integer(4) 
     autoincrement: true 
     primary: true 
    name: 
     type: string(255) 
    relations: 
    Users: 
     foreignAlias: Groups 
     class: User 
     refClass: GroupUser 

GroupUser: 
    columns: 
    group_id: 
     type: integer(4) 
     primary: true 
    user_id: 
     type: integer(4) 
     primary: true 
    relations: 
    Group: 
     foreignAlias: GroupUsers 
    User: 
     foreignAlias: GroupUsers 
additional: 
    columns: 
    id: 
     type: integer(4) 
     autoincrement: true 
     primary: true 
    new: 
     type: string(255) 
    attributes: 
    export: all 
    validate: true 

我產生新的模塊:

PHP symfony的學說:生成模塊 --with秀--non-冗長的模板前臺用戶用戶

和我有表單中添加用戶:

http://localhost/user/new

圖像:http://img692.imageshack.us/img692/7726/znew.png

我想從模塊附加添加對這種形式的輸入並更改sfWidgetFormDoctrineChoice多個複選框。 我該怎麼做?

THX!

+2

這個問題和你以前的一個表明您缺少基本的Symfony的知識。瀏覽[Jobeet Tutorial](http://www.symfony-project.org/jobeet/1_2/)。從長遠來看,它將爲您節省很多錯誤並節省您的時間。 –

回答

1

sfWidgetFormDoctrineChoice有一個名爲「擴展」,如果它是在真,那麼將顯示覆選框(檢查this example from the symfony's Jobeet)選項的選擇。

在你UserForm.class.php你必須把這樣的事情(檢查BaseUserForm.class.php)

<!-- lib/form/doctrine/UserForm.class.php --> 
... 
public function configure(){ 

    $this->setWidget('groups_list', new sfWidgetFormDoctrineChoice(array(
       'multiple' => true, 
       'model' => 'Group', //check that on your base 
       'expanded' => true, //set checkboxs 
    ))); 

} 
... 
+0

感謝您的幫助:)首先我的問題? ;) –