上一节已经增加了工具栏,但为了实现编辑,删除,发布等操作,我们还需要使用复选框。没有复选框我们就不能确定需要编辑的记录是哪一条。复选框就能帮我们解决这个问题
了解如何使用复选框
[下载文件:]com_zmaxbookv2.0.2_2020-11-11_for_j3x.zip
安装最新的v2.0.1版本后就看到如下的截图:
复选框的实现在代码在布局文件中,也就是views/items/tmpl/default.php文件
<form action="index.php?option=com_zmaxbook&view=items" method="post" name="adminForm" id="adminForm">
<div id="j-sidebar-container" class="span2">
<?php echo $this->sidebar; ?>
</div>
<div id="j-main-container" class="span10">
<table class="table table-striped">
<thead>
<tr>
<th width="20px"><?php echo JHtml::_('grid.checkall');?></th>
<th >标题</th>
<th >作者</th>
<th >价格</th>
<th >ID</th>
</tr>
</thead>
<tbody>
<?php foreach ($this->items as $i => $item) :?>
<tr>
<td><?php echo JHTML::_('grid.id',$i,$item->id);?></td>
<td><?php echo $item->title; ?></td>
<td><?php echo $item->author; ?></td>
<td><?php echo $item->price; ?></td>
<td><?php echo $item->id; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<div>
<input type="hidden" name="task" value=""/>
<input type="hidden" name="boxchecked" value="" />
<?php echo JHtml::_('form.token');?>
</div>
</form>
主要的代码有两个,一个是checkall(全选),另外一个是grid.单独的一个checbox.
<?php echo JHtml::_('grid.checkall');?>
这个段代码会输出一个checkbox复选框,点击后会自动的选中当前表单中的所有checkbox.
<?php echo JHTML::_('grid.id',$i,$item->id);?>
这段代码会在每一条记录的前面输出一个复选框,当用户点击选中的时候,就会将第三个值 $item->id (选中记录的ID)设置为chekbox的值。
为了配合复选框的使用,需要有一个表单与之配合。所以你会看到在这一版本的布局文件中,我们增加了表单元素。
<form action="index.php?option=com_zmaxbook&view=items" method="post" name="adminForm" id="adminForm">
<div>
<input type="hidden" name="task" value=""/>
<input type="hidden" name="boxchecked" value="" />
<?php echo JHtml::_('form.token');?>
</div>
</form>
请重点注意:在joomla后台组件中,我们一般将form的ID和name设置为adminForm. 有一些JS代码会依赖form的ID属性和name属性。
为了提交checkbox的只,我们需要在表单中增加了input name属性设置为boxchecked.
评论 (0)