2011-05-03 46 views
0

我使用sfDoctrineGuardPlugin,我遇到了一個小問題,來定製用戶。的symfony - sfDoctrineGuardPlugin - 創建

我有幾個'用戶類型',即Admins,Managers,Account Holder

我需要的是能夠創建他們時,爲每種類型的創建這些用戶,並有具體的形式。

我真的很想做的事情,可能有一個像Create AdminCreate ManagerCreate Account Holder這樣的鏈接,它想爲我想要創建的用戶創建一個表單。

我需要在插件中創建幾個動作來適應這個問題,即executeAdmin()executeManagers,然後調用一個自定義窗體,我的特定窗口小部件是如何配置的?

謝謝

回答

0

如果你想使用admingen,我建議你創建3個模塊基於操作系統sfguarduser模型,每個用戶類型之一。
然後,在每個generator.yml您可以在形式塊註明:

形式:

類:adminForm(用於爲例)

+0

@dxb我已經完成了你的建議。問題是,我正在擴展'sfGuardUserProfile',這又擴展了'sfGuardUserAdminForm'。你可以看到我的表單:http://pastebin.com/fhczEeJt我似乎無法將簡介表單嵌入到我的用戶表單中。有任何想法嗎? – terrid25 2011-05-03 14:33:29

+0

所有我需要的是展示從'sfGuardUser'表中的字段,我從'sfGuardUserProfile'需要在'adminForm' – terrid25 2011-05-03 14:51:21

+0

在你adminFormProfileForm所有字段,看來你沒有設置你的表單的各個領域...也許這就是原因爲什麼無法在管理員adminForm中看到嵌入配置文件表單? – dxb 2011-05-03 15:07:01

0

您可以將這些用戶類型定義爲sfGuardUser類的子類。然後,每個類型都有一個表單,從sfGuardUserForm繼承。

在你的模塊,或者您爲每個類型的動作,如果一些CONTROLER和模板代碼是非常具體的,或者你創建一個單一的行動,對一些參數,使用正確的窗體類的測試。

哦,不要任何的代碼添加到該插件。這是一個非常糟糕的做法。相反,將插件操作擴展到應用程序中的自定義模塊中。

+0

好了,我已經創建了以下形式:'adminForm.class.php','managersForm.class.php'和'accountHolderForm.class.php'。所有這些都擴展了'sfGuardUserAdminForm'。我創建了一個'sfGuardUser'管理模塊和'actions.class.php',它擴展了:'sfGuardUserActions擴展了autoSfGuardUserActions'。然後,我會在這裏爲每個表單準備好我的所有操作嗎?謝謝 – terrid25 2011-05-03 12:52:33

+0

嗨。這取決於你。如果只有表單和表單驗證代碼不同,請執行一個操作。 – 2011-05-04 07:28:56

相關問題