Joomla-开源天空

首页 专栏热点 Joomla! 源代码分析 Joomla! 1.5中form表单的实现方式


Joomla! 1.5中form表单的实现方式

E-mail

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文件,而不必关心其他的东西。

 

 


 

相关文章
Joomla! 1.5 API 中文手册(作者:aivera)
Joomla!扩展制作实例教程-模板展示组件-前台路径设置
Joomla!扩展制作实例教程-模板展示组件-前台最终页面
Joomla!扩展制作实例教程-模板展示组件-前台列表页面
Joomla!扩展制作实例教程-模板展示组件-增加后台上传图片功能
Joomla!扩展制作实例教程-模板展示组件-如何数据表增加一个字段
Joomla!扩展制作实例教程-模板展示组件-整理后台列表页面,增加列表分页功能
Joomla!扩展制作实例教程-模板展示组件-后台增加所见即所得编辑器
Joomla!扩展制作实例教程-模板展示组件-后台记录增加和修改程序
Joomla!扩展制作实例教程-模板展示组件-创建组件框架
 
User Reviews(3)
 添加tooltip~~~
作者:angang523409@tom.com 2008-04-04 09:00
在default.php中加一句:
JHTML::_('behavior.tooltip');
可以显示tooltip,嘿嘿~~.写的真不错~~~
 回复:[文章评论]--Joomla! 1.5中form表单的实现方式
作者:admin 2008-04-04 21:42
呵呵,说的对!谢谢提醒!
 回复:[文章评论]--Joomla! 1.5中form表单的实现方式
作者:angang523409 2008-04-04 22:20
能留个联系方式吗 ?我的msn是angang523409@hotmail.com

发表您的文章评论

您的姓名 (昵称)
标题:
评分: 很差一般较好很好
评论:
验证码:
请输入验证码

» » 登录 »   -   -