2010-10-15 48 views
0

我試圖刪除從sfDoctrineGuard生成的表單某些字段。 我不在乎用戶的姓名或電子郵件地址,我只是希望他們擁有用戶名和密碼。隱藏域sfDoctrineGuard

alt text

我試過編輯/lib/form/doctrine/sfDoctrineGuardPlugin/sfGuardUserForm.class.php:

class sfGuardUserForm extends PluginsfGuardUserForm 
{ 
    public function configure() 
    { 
    unset(
     $this['first_name'], 
     $this['last_name'], 
     $this['email_adress'] 
    ); 


    } 
} 

但是什麼也沒做。我是否正在編輯正確的文件?

編輯我可以讓這些字段消失的唯一方法是編輯/ plugins /目錄中的文件!

插件/ sfDoctrineGuardPlugin/LIB /形式/教義/ sfGuardUserAdminForm.class.php

回答

2

它可能使用sfGuardUserAdminForm而非sfGuardUserForm - 檢查調試欄的視圖選項卡,它應該告訴你。

該類住在該插件,所以你應該繼承它你的項目的lib /表單文件夾下和您現有的配置方法複製到子類。

然後,您可以告訴它通過編輯gnerator.yml使用這種形式 - 再次,將它複製到你的項目/應用程序的模塊文件夾從插件,如果你還沒有準備好。你需要改變generator/param/config/form/class。如果他們在那裏,您還需要從表單/顯示鍵中刪除這些字段,否則它們會抱怨他們不存在。

-2

這些字段在generator.yml文件中配置。 但刪除不會按預期工作。您需要手動從schema.yml,表單和模型類中刪除這些字段。

+0

我只是想將它們隱藏在窗體中,它們仍然可以在數據庫中,我不在乎。 – Manu 2010-10-15 12:33:50

+0

我沒有generator.yml編輯,它是在插件文件夾 – Manu 2010-10-15 14:20:38

+2

-1,你不應該編輯插件的架構 – benlumley 2010-10-15 15:10:09