xml在joomla表单中的应用详解分享_php实例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了xml在joomla表单中的应用详解分享_php实例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2548字,纯文字阅读大概需要4分钟。
内容图文
使用起来基本都有固定格式,在此不多说,这里主要说说xml在创建表单中的应用.表单的作用不言而喻,在模块配置里面有表单,组件里面也有表单,这里的配置里面的参数设置就是xml生成的表单,相对于通过直接建表单方便不少,这里通过编辑文章表单的使用过程来说,在使用之前,我们先来了解一下表单元素的类型,joomla提供了生成多种表单元素样式.代码如下:
//生成日历时间
//得到单元列表
//其他组件单元列表
//编辑器选择列表
//文件列表 html表示显示扩展名为html
//文件夹列表
//隐藏域
//密码
//单选
//单元选择
//水平线
//SQL生成列表
//文本框
//文本域无样式
//文本域有样式
//生成时区列表
上边就是提供的一些生成元素,但是如何使用呢,我们首先建立一个form.xml,在组件的models文件夹内
代码如下:
这里只有一个隐藏元素其实我们可以建立更多的元素,就是上边的那些生成元素类型,当然还可以自定义,这里的addpath就是自定义元素类型,位置就是在组建的elements文件夹内,上边的是内置的,笔者在这里定义了如下类型
代码如下:
//自定义控件
//数组转换成列表 不写下标从0开始
//生成是否单选
//上传控件
//数组复选
//无限分类 注意添加section父类为0
使用方法如上,元素的自定义文件在下载里面提供.接着我们在views文件夹下面你的视图文件夹内的view.html.php增加如下语句
代码如下:输出到模版,details是元素名称数组名,生成的m1的name就是details[m1],接着就是form.php调用如下
$form = new JParameter('',JPATH_COMPONENT.DS.'models'.DS.'form.xml');
$form->set('m1','默认值');
$html=$form->render('details', 'html'); //details是元素名数组
$this->assignRef('html',$html);
上边第二句就是赋值,把隐藏域赋值,相当于编辑里面取值,第三四句是把表单html
代码如下:
这样一个表单就生成了,相对于直接写表单元素,这种方法更容易修改风格或者内容,修改只需要改xml文件即可,在joomla2.5版本中,基本上都是通过这种方式实现的,不过变化比较大,xml文件写法大不相同,通过xml是可以调用其他组件里面表单元素的.
表单元素的这些类型在模版配置参数,模块参数都是可以使用的,特别是可以自己扩展表单元素的样式,你完全可以定义出其他样式类型,笔者定义了比较常用的几种但是内置没有提供的,比如数组转换列表,数组转换复选,无限分类等样式.这里的类型其实就是api的JElement类,里面的源文件可以参考libraries\joomla\html\parameter\element,这里自定义表单元素怎么写呢这里给个例子或者参考源文件就明白了,文件名custom.php,类型也就是custom了,调用方法
代码如下:
<?php
// 自定义显示
//
defined('_JEXEC') or die('Restricted access');
class JElementCustom extends JElement{
var $_name = 'Custom';
function fetchElement($name, $value, &$node, $control_name) {
$html=<<<EOF
自定义
EOF;
return $html;
}
}
好了,就不多讲了,其实这只是一种建立表单的方法,如果你不喜欢,完全可以使用写表单元素,不过既然joomla提供了这些我们为什么不用呢?
下载自定义元素: elements_php.rar
内容总结
以上是互联网集市为您收集整理的xml在joomla表单中的应用详解分享_php实例全部内容,希望文章能够帮你解决xml在joomla表单中的应用详解分享_php实例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。