XiaoCMS在前台搜索表单提交的内容


关键词

XiaoCMS 前台 表单 搜索

摘要

本文介绍XiaoCMS系统如何在前台搜索自定义表单提交的内容,这里需要用到较多的二次开发,不懂程序的朋友勿近。

XiaoCMS在前台搜索表单提交的内容

主要做三项工作,即可完成搜索表单提交的内容。

一、修改/core/controller/index.php页面,添加一个接收表单搜索的Action。

注意如下地方:1、表单的名称,即表单的表的名称;2、最后一行要展示的模板页面。

/**
 * 自定义表单内容搜索
 */
public function searchFormAction() {
    $kw    = urldecode($this->get('kw'));
    if($kw == '')$this->show_message('请输入要搜索的关键字');
    $catid    = $catid ? $catid : (int)$this->get('catid');
    $modelid    = $modelid ? $modelid : (int)$this->get('modelid');
        $page   = (int)$this->get('page') ? (int)$this->get('page') : 1;
    $pagesize = 10;
    $urlparam = array();
    $urlparam['kw']      = $kw;
    $url      = url('index/search', $urlparam);
    if ($catid) $this->db->where('catid=?', $catid);
    if ($modelid) $this->db->where('modelid=?', $modelid);
    $data    = $this->db->setTableName('form_geren')->pageLimit($page, $pagesize)->where("`zsleixing` LIKE  ?",'%'.$kw.'%')->getAll(null,null,null,array('time DESC'));
    foreach ($data as $key => $t) {
        $data[$key]['url'] = $this->view->get_show_url($t);
    }
    if ($catid) $this->db->where('catid=?', $catid);
    if ($modelid) $this->db->where('modelid=?', $modelid);
    $total = $this->db->setTableName('form_geren')->where("`zsleixing` LIKE  ?",'%'.$kw.'%')->count();
    $pagelist = xiaocms::load_class('pager');
    $pagelist = $pagelist->total($total)->url($url. '&page=[page]')->hide(true)->num($pagesize)->page($page)->output();
    $this->view->assign($this->listSeo($cat, $page, $kw));
    $this->view->assign(array(
        'kw'         => $kw,
        'pagelist' => $pagelist,
        'data' => $data,
        'num' => $total,
        'site_title'  => '搜索 ' . $kw . ' - ' . $this->site_config['site_name'],
        'site_keywords'    => $kw,
        'site_description' => '搜索 ' . $kw,
    ));
    $this->view->display('search_geren.html');
}

二、搜索提交的窗口

<form action="" method="get" id="searchForm">
<input type="hidden" value="index" name="c" />
<input type="hidden" value="searchForm" name="a" />
<div class="searchForm">
    <a href="#" onclick="$('#searchForm').submit();">搜索</a>
    <i class="fa fa-search"></i>
    <input type="text" name="kw" placeholder="请输入关键词" />
</div>
</form>

注意:
1、使用get方式提交
2、c=index,这里的c即控制器名
3、a=searchForm,这个名称其实可以自定义,但要跟index控制器里的Action相对应。
4、搜索关键词叫kw,不能错。
5、如果想支持多条件搜索,需要再修改searchFormAction

三、模板显示页面

需要一个独立的模板显示页面,页面的文件名要与searchFormAction里面定义的一致。

<span>您当前位置:<a  href="{xiao:$site_url}">首页</a> >> "{xiao:$kw}" 搜索结果</span>
{xiao:if empty($num)}
    <h3>抱歉,没有找到“{xiao:$kw}”相关的内容。</h3>
{xiao:else}
    <table width="100%">
        <tr>
            <th>姓名</th>
            <th>证书类型</th>
            <th>挂靠方式</th>
            <th>期望价格</th>
            <th>签发日期</th>
            <th>是否参保</th>
        </tr>
{xiao:loop $data $t}
        <tr>
            <td>{xiao:$t['xingming']}</td>
            <td>{xiao:$t['zsleixing']}</td>
            <td>{xiao:$t['guakaofangshi']}</td>
            <td>{xiao:$t['jiage']}</td>
            <td>{xiao:$t['qianfariqi']}</td>
            <td>{xiao:$t['canbao']}</td>
        </tr>
{/xiao:loop}
    </table>

    <!--这里还可以进行分页-->
    <div >{xiao:$pagelist}</div>
{/xiao:if}

 

文章的版权

洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:XiaoCMS在前台搜索表单提交的内容:http://www.splaybow.com/post/xiaocms-search-form.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« PHP调用jmail发邮件 XiaoCMS表单内容的前台调用 »

相关文章:

PHP操作redis的方法集锦  (2020/2/3 20:52:58)

微信支持vcard格式的链接来添加名片  (2019/10/30 8:45:45)

PHP中date函数的使用  (2018/10/22 13:59:52)

PHP把图片转换成圆形png(头像处理)  (2018/11/1 7:56:59)

PHP使用curl执行后台异步任务  (2018/10/1 7:23:30)

php调用zip压缩一个文件夹  (2018/8/25 11:58:18)

PHP不缓存直接输出到浏览器端  (2017/12/21 7:14:23)

PHP中is_empty、is_null、isset的区别  (2017/9/21 7:44:11)

PHP生成GUID  (2017/9/6 7:39:17)

Windows下PHPWord 报错 Could not close zip file  (2017/6/9 7:09:22)