[转]Joomla! 1.5中form表单的实现方式
原文鏈接:Joomla! 1.5中form表單的實現方式
Joomla! 1.5中JParameter不但提供了一個xml 和ini文件讀取和訪問的方式,同時它提供了一個render函數,這個render函數對于Joomla! 1.5中的表單制作提供很大的便利,事實上Joomla! 1.5的文章編輯界面廣泛了使用了這種方式。這種方式中更好的實現了頁面元素與數據的分離,并提供了一些表單項的驗證方式。
以下我們來介紹一個簡單的Joomla! 1.5表單制作,假設我們有一個組件com_test,第一步我們要在com_test/models中添加一個test.xml文件,內容如下:
<?xml version="1.0" encoding="utf-8"?><form>
<name>Test Form</name>
<params group="advanced">
<param name="show_title" type="list" default="" label="Show Title" description="Show/Hide the items title">
<option value="">Use Global</option>
<option value="0">No</option>
<option value="1">Yes</option>
</param>
<param name="created" type="calendar" default="" label="Created Date" description="DETAILCREATED" />
<param name="publish_up" type="calendar" default="" label="Start Publishing" description="DETAILSTART" />
<param name="keywords" type="textarea" rows="5" cols="30" default="" label="Keywords" description="METAKEYS" />
<param name="robots" type="text" size="20" default="" label="Robots" description="METAROBOTS" />
</params>
</form>
實際上這個部分對應這表單中部分或者所有的項,我們這個表單有5項,第一個是select list ,接下來兩個是日期,第四個keywords是一個 textarea,最后一個是text輸入。在這個完成后,我們就可以在視圖文件中view.html.php中display函數中實現代碼如下:
???? $form = new JParameter('', JPATH_COMPONENT.DS.'models'.DS.'test.xml');$html=$form->render('details', 'advanced');
$this->assignRef('html',$html);
很簡單,然后在視圖模板文件tmpl/default.php中:
??<form action='/index.php' method="post"><?php echo $this->html; ?>
<input type="submit" value="submit">
<input type="hidden" name="task" value="save">
<input type="hidden" name="option" value="com_test">
</form>
?現在就可以通過http://yourdomain.com/index.php?option=com_test&view=test來訪問了,查看瀏覽器的源代碼看看到底生成了什么吧。
這樣做的好處有很多,如果我們做了數據表的數據結構修改,那么我們所涉及到的界面工作就只有修改test.xml文件,而不必關心其他的東西。
這樣做表單確實挺方便的,如果表單中的初始值是動態的怎么辦?有知道的留個言,謝謝!
?
轉載于:https://www.cnblogs.com/sun_moon_earth/archive/2008/09/19/1294029.html
總結
以上是生活随笔為你收集整理的[转]Joomla! 1.5中form表单的实现方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GDB调试程序系列 (3)
- 下一篇: Boost智能指针——weak_ptr