使用网站表单插件可以实现诸如【证书查询】、【授权查询】等单个内容查询功能,查询成功后直接显示内容页。
实现方法
以证书查询为例
一、创建证书查询表单,表单别名为:certificate

二、创建几个证书字段,比如:
证书名称:title
证书编号:number
姓名:name

三、开发查询功能
3.1、打开 dayrui/App/Form/Controllers/Certificate.php

3.2、在如下图所示的位置添加如下代码:
public function search() {
// 接收url传递的值
$title = dr_safe_replace(\Phpcmf\Service::L('input')->get('number'));
$name = dr_safe_replace(\Phpcmf\Service::L('input')->get('name'));
if (!$title) {
$this->_msg(0, '证书编号不能为空');
}
if (!$name) {
$this->_msg(0, '证书姓名不能为空');
}
// 查询
$row = \Phpcmf\Service::M()->table($this->init['table'])->where('number', $title)->where('name', $name)->getRow();
if (!$row) {
$this->_msg(0, '没有查询到');
}
// 查询到了调转到表单详情页面
$url = SITE_URL.'index.php?s=form&c='.$this->form['table'].'&m=show&id='.$row['id'];
dr_redirect($url);
}3.3、添加前端查询表单
在前端任何页面模板添加一个查询表单:
<form class="search-form" action="/index.php" method="get"> <input type="hidden" name="s" value="form"> <input type="hidden" name="c" value="certificate"> <input type="hidden" name="m" value="search"> 证书编号:<input type="text" class="form-control" name="number" > 证书姓名:<input type="text" class="form-control" name="name" > <button class="btn default" type="submit"> 查询 </button> </form>
这样就已经实现了证书查询功能,输入证书编号与姓名,如果正常就会直接跳转到详情页面
在详细页面调用字段信息就行了
网站表单模板说明参考:https://www.diyuncms.com/help/show/1103.html
以上是2个字段都必须填写正确才可以。
如果只需要输入证书编号1个字段值就能搜索,就改一下
public function search() {
// 接收url传递的值
$number = dr_safe_replace(\Phpcmf\Service::L('input')->get('number'));
if (!$number) {
$this->_msg(0, '证书编号不能为空');
}
// 查询
$row = \Phpcmf\Service::M()->table($this->init['table'])->where('number', $number)->getRow();
if (!$row) {
$this->_msg(0, '没有查询到');
}
// 查询到了调转到表单详情页面
$url = SITE_URL.'index.php?s=form&c='.$this->form['table'].'&m=show&id='.$row['id'];
dr_redirect($url);
}这样只需1个字段就能查询,
注意:后台添加的证书内容,证书编号字段内容必须是唯一的。
没有动手能力或者需要更强大的证书查询功能,可以使用下面这款插件




