2013-05-14 77 views
4

我正在開發一個使用joomla 3.0的組件。我試圖在我的組件中添加表單。我看到joomla擁有用於在後端添加表單的JHTML類。向joomla的前端組件視圖添加表格

什麼是在前端創建表單的建議。我應該使用JHTML還是乾淨的HTML標記?我在哪裏可以找到該類文檔。

+2

這真的取決於你需要什麼樣的表單。就我個人而言,如果您想要保存到數據庫或執行諸如從聯繫表單發送消息之類的內容,我會查看使用JForm的核心表單。如果你想做更多的事情,比如過濾器,那麼你會像過濾器欄或者後端的側欄那樣使用JHTML。 – Elin 2013-05-14 11:02:33

+0

這是一個很好的問題,我想知道我自己。就個人而言,我一直使用乾淨的HTML標記。 @Elin,會很樂意爲您解答這個問題。 – Tom 2013-05-14 12:48:48

回答

1

JForm JModelForm JControllerForm

形式這在databas數據保存在的Joomla 1.6 +主要利用JForm包,其管理的形式(XML或XML字符串),字段(實際字段)和規則(驗證) 。

正常的方式來管理它的簡單方法是擴展JModelForm和JControllerForm。如果你看看核心,你會發現這些擴展在你可能不期望的地方,比如單個聯繫人視圖,但基本上這是因爲這些類提供了基本設置,你需要在頁面的任何部分管理表單,即使其餘與形式無關。

另外,您可以隨時創建一個新的JForm對象。

如果你有一個模型文件夾通常你會有一個表格文件夾,然後如果需要字段和規則文件夾。後兩個包含您的擴展需要的任何自定義字段或規則。當你在你的擴展中創建一個表單時,這些會被默認發現,但是如果你想從別的地方得到它們,你需要在表單xml中根據需要使用addFieldPath或addRulePath或addFormPath。

Jform提供了一組標準的字段和規則以及標準的過濾器列表。規則意味着驗證,而過濾器將更改保存的值。您也可以使用JFilterInput中提供的任何過濾器。

如果您給某個字段命名與當前表格對象中的字段相同,則數據將自動保存在該字段中。如果您使用名稱與字段默認匹配的字段標籤,則標籤內列出的字段將作爲JSON字符串保存在該字段中。

這幾乎是基礎知識,雖然還有很多。

對我來說一個重要的事情是,如果你使用JForm默認過濾是非常好的,你有選擇地允許HTML等,所以默認情況下它是非常安全的。

相關問題