簡體   English   中英

根據Symfony 1.4 / Doctrine 1.2中的數據庫查詢創建唯一的表單字段

[英]Create unique form fields based on database query in Symfony 1.4/Doctrine 1.2

我正在執行一個瘋狂的項目,我們碰巧使用了Symfony 1.4,因此,我希望在理想情況下,盡可能將這個項目保持在框架的功能范圍內。 不幸的是,盡管進行了大量研究和搜索,但我還沒有找到一種基於對數據庫查詢生成sfWidgetForm元素的方法。

我將通過解釋項目流程來概述其目的。

  1. 用戶提交的表單包含我們的廣告客戶所需的大多數數據。
  2. 基於此數據,可以調用數據庫中的行。 也許此表格已填寫,並且用戶聲稱對園藝感興趣。 基於此相關性,這將產生一行與園藝相關的表單字段(或幾行,但無論如何)。
  3. 這是重要的部分。 與園藝相關的內容實質上是填寫表單的概述,這些表單對於對園藝感興趣的人完成提交。 我們將獲得表單元素的類型,名稱,標簽,需求狀態,啟用狀態等。基於這些元素的ID,我們可以從另一個表中查看它們是否相互依賴。 如果是這種情況,可以使用javascript處理。 那是另一個故事。
  4. 此時,我可以使用Symfony中的自定義構建組件來創建表單(可以)。 這些將輸出正常工作的表單,但是sfValidator小部件將不支持它們,這是不幸的。 我想做的是以某種方式告訴一些神奇的表單類,以基於X准則,小部件和驗證器來構建表單。
  5. 表單完成並輸出后,用戶將填寫其余字段,第二個表單將通過驗證,並將來自這兩種表單的全部數據發送給廣告商。

我在這里最感興趣的是有關在Symfony中動態構建表單的數據。 我可以輕松地使用組件進行構建,但是我真的不想要。 特別是因為我計划很快退出,並且在框架內保留一些內容對於我的隊友來說是理想的選擇。

感謝您的任何想法! 盡管從外面很無聊,這是一個非常令人興奮的項目-我以前從未動態生成過表格,更不用說在Symfony中了。 應該很酷。

您當然可以根據查詢建立選擇列表/單選按鈕/復選框-我不確定這是否正是您想要的?

請參閱http://www.symfony-project.org/api/1_4/sfWidgetFormDoctrineChoicequery參數-我經常使用它並且效果很好。

動態創建整個表單將非常困難IMO-我認為您至少需要定義一些規則,以便可以顯示/隱藏某些表單元素。

有關如何解決此問題的功能示例,請參見: http : //pastebin.com/NrJeADAk

它運作良好。 如果您的數據庫正確且一致地描述了表單,則您甚至可以通過通過表單提交其描述來創建新表單。 我已經為團隊工作完成了此任務,並且在現場進行了大量的驗證,到目前為止,他們還沒有設法創建導致問題的單一表單。 我經常使用SO,因此如果您偶然發現此問題並想了解更多信息,請隨時給我發消息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM