Joomla的List form field type从数据库取得选项
来源:互联网 发布:mysql查询顺序 编辑:程序博客网 时间:2024/05/29 17:52
最新做joomla后台功能遇到一个这样的问题,记录如下:
在Joomla标准的field type中有一个list类别,也就是html中的select元素。
标准的用法是这样
<field name="mylistvalue" type="list" default="" label="Select an option" description=""> <option value="0">Option 1</option> <option value="1">Option 2</option></field>
这时我想到能不能list类型的我自己生成表单呢?于是试了下,在xml中去掉这个field,然后在view.html.php中通过model取到数据,$this->typeList = $model->getTypeList();
然后在default.php中
<div>Type</div>
<div>
<select name="jform[type]">
<?php
foreach($this->typeList as $i=>$row){
echo "<option value='".$row['id']."'>".$row['type']."</option>";
}
?>
</select>
</div>
<?php foreach($this->form->getFieldset() as $field): ?>
<div><?php echo $field->label;echo $field->input; ?></div>
<?php }endforeach; ?>
这样确实在页面中显示了数据库中的数据,但出现了一个问题,保存的时候这个select的值保存不到
通过查看firebug的post数据,确认post了jform[type]的值到后台;看来只能是后台入库时候的问题了,想到刚才在models\forms\product.xml中去掉了type的field定义,是不是跟这个有关呢?于是恢复之前的代码,可以入库保存。看来joomla本身数据的保存是通过读取xml配置文件来对应数据库字段的
既然是这样,那也好办,我仍然给它写在xml中,
<field name="type" type="text"
label="COM_FOLD_PRODUCT_TYPE_LABEL"
description="COM_FOLD_PRODUCT_TYPE_DESC"
size="40"
class="input"
required="true"
/>
实际用不到这个field定义,就没用list类型,可以简单点。然后在布局文件default.php中加上一个判断,如果是type,就用自定义的select表单代替
<?php foreach($this->form->getFieldset() as $field): ?>
<?php if($field->name == "jform[type]"){ ?>
<div style="margin-bottom:5px;">Type</div>
<div>
<select id="jform_type" class="input" name="jform[type]" aria-invalid="true">
<?php
foreach($this->typeList as $i=>$row){
echo "<option value='".$row['id']."'>".$row['type']."</option>";
}
?>
</select>
</div>
<?php }else{ ?>
<div><?php echo $field->label;echo $field->input; ?></div>
<?php }endforeach; ?>
经过测试,正常入库,至此问题解决!
- Joomla的List form field type从数据库取得选项
- DOC 列表表单域类型List form field type
- jsp从数据库取得数据作为下拉菜单选项的实现
- jsp从数据库取得数据作为下拉菜单选项的实现
- 从数据库取得数据
- 如何打开Joomla的SEO选项?
- error: field `list' has incomplete type的解决!:) [复制链接] 00
- 从 数据库中取值Select的选项注意事项
- 从数据库取得时间数据
- Field 元数据选项的详细介绍
- 一个简单的Checkbox Custom Field Type
- 一个简单的Checkbox Custom Field Type
- (ULONG_PTR)(&((type *)0)->field))) 的解释
- Solr字段类型field type的定义
- aspupload 批量上传图片并存入数据库,取得multipart/form-data的表单数据
- 深入解析form表单的enctype属性&从form的enctype属性到Content-Type再到request.getInputStream()
- 从Form 的input type=file 获得不含路径的文件名
- Joomla! 1.5中form表单的实现方式 【转】
- oracle trunc函数使用详解
- 最牛B的编码套路
- 离散小波变换的matlab应用
- dbx在线资源
- JSP_FTP
- Joomla的List form field type从数据库取得选项
- 百度推广系列之优化之笔
- zero copy解析,通过sendfile分析
- libvirtError: Unable to create emulator cgroup
- 【代码】PHP 生成GIF动画实现动态图片验证码
- 对vi使用的笔记
- Sans Serif 和 Serif 字体
- 内存调试-Dalvikvm
- 使用JAVA如何对图片进行格式检查以及安全检查处理