• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

xml在joomla表单中的应用详解分享_PHP

php 搞代码 4年前 (2022-01-25) 16次浏览 已收录 0个评论

使用起来基本都有固定格式,在此不多说,这里主要说说xml在创建表单中的应用.表单的作用不言而喻,在模块配置里面有表单,组件里面也有表单,这里的配置里面的参数设置就是xml生成的表单,相对于通过直接建表单方便不少,这里通过编辑文章表单的使用过程来说,在使用之前,我们先来了解一下表单元素的类型,joomla提供了生成多种表单元素样式.
复制代码 代码如下:
//生成日历时间
//得到单元列表
//其他组件单元列表
//编辑器选择列表
//文件列表 html表示显示扩展名为html
//文件夹列表
//隐藏域


未分类
中国
美国

//密码
//单选
No
Yes

//单元选择
//水平线
//SQL生成列表
//文本框
//文本域无样式
//文本域有样式
//生成时区列表

上边就是提供的一些生成元素,但是如何使用呢,我们首先建立一个form.xml,在组件的models文件夹内
复制代码 代码如下:
<?xml version=”1.0″ encoding=”utf-8″?>

表单测试







这里只有一个隐藏元素其实我们可以建立更多的元素,就是上边的那些生成元素类型,当然还可以自定义,这里的addpath就是自定义元素类型,位置就是在组建的elements文件夹内,上边的是内置的,笔者在这里定义了如下类型
复制代码 代码如下:
//自定义控件
‘中国’,2=>’美国’)”/>//数组转换成列表 不写下标从0开始
//生成是否单选
//上传控件
‘中国’,’2’=>’美国’)”/>//数组复选
//无限分类 注意添加section父类为0

使用方法如上,元素的自定义文件在下载里面提供.接着我们在views文件夹下面你的视图文件夹内的view.html.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输出到模版,details是元素名称数组名,生成的m1的name就是details[m1],接着就是form.php调用如下
复制代码 代码如下:

详情


<?php
echo $this->html;
?>
<?php echo JHTML::_( ‘form.token’ ); ?>




这样一个表单就生成了,相对于直接写表单元素,这种方法更容易修改风格或者内容,修改只需要改xml文件即可,在joomla2.5版本中,基本上都是通过这种方式实现的,不过变化比较大,xml文件写法大不相同,通过xml是可以调用其他组件里面表单元素的.

表单元素的这些类型在模版配置参数,模块参数都是可以使用的,特别是可以自己扩展表单元素的样式,你完全可以定义出其他样式类型,笔者定义了比较常用的几种但是内置没有提供的,比如数组转换列表,数组转换复选,无限分类等样式.这里的类型其实就是api的JElement类,里面的源文件可以参考libraries\joomla\html\parameter\element,这里自定义表单元素怎么写呢这里给个例子或者参考源文件就明白了,文件名custom.php,类型也就是custom了,调用方法
复制代码 代码如下:
<?php
// 自定义显示
//
defined(‘_JEXEC’) or die(‘Restricted a2本文来源gaodaima#com搞(代@码$网6

搞gaodaima代码

ccess’);

class JElementCustom extends JElement{
var $_name = ‘Custom’;
function fetchElement($name, $value, &$node, $control_name) {
$html=<<<EOF
自定义
EOF;
return $html;
}
}

好了,就不多讲了,其实这只是一种建立表单的方法,如果你不喜欢,完全可以使用写表单元素,不过既然joomla提供了这些我们为什么不用呢?
下载自定义元素: elements_jb51.rar


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:xml在joomla表单中的应用详解分享_PHP
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址