[转]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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值