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:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

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