ECSHOP 后台商品列表页搜索二次

来源:互联网 发布:良好的数据分析能力 编辑:程序博客网 时间:2024/05/29 17:09
第一步:
商品列表页引入的搜索是goods_search.htm
    <!-- 分类 -->
    <select name="cat_id"><option value="0">{$lang.goods_cat}</option>{$cat_list}</select>
    <!-- 主题 -->
    <select name="zhuti_id"><option value="0">{$lang.zhuti_name}<</option>{html_options options=$zhuti_list}</select>
每一个都有自己的name  你可以自己添加想要搜索的字段
主题就是我自己添的一个搜索条件
第一步over

第二步
<script language="JavaScript">
    function searchGoods()
    {
{/literal}
        {if $smarty.get.act neq "trash"}
        listTable.filter['cat_id'] = document.forms['searchForm'].elements['cat_id'].value;
        listTable.filter['brand_id'] = document.forms['searchForm'].elements['brand_id'].value;
        listTable.filter['zhuti_id'] = document.forms['searchForm'].elements['zhuti_id'].value;
        //listTable.filter['intro_type'] = document.forms['searchForm'].elements['intro_type'].value;
          {if $suppliers_exists eq 1}
          listTable.filter['suppliers_id'] = document.forms['searchForm'].elements['suppliers_id'].value;
          {/if}
        listTable.filter['is_on_sale'] = document.forms['searchForm'].elements['is_on_sale'].value;
        {/if}
{literal}
        listTable.filter['keyword'] = Utils.trim(document.forms['searchForm'].elements['keyword'].value);
        listTable.filter['page'] = 1;

        listTable.loadList();
    }
</script>
在goods_search.htm 下面有一个script 在这里面也要加上你加在上面想要搜索的字段
而且你可能会删一些上面不要的搜索字段,下面保持同步。
第二步over

第三步
我是卡在这一步 ,用ajax提交的我不知道提交到哪个页面去处理的。所以很纠结。其实是在goods.php里的'query'里处理的。里面调用了一个方法 goods_list(); 这个方法是在admin/include/lib_goods.php 里写的。
$filter['cat_id']           = empty($_REQUEST['cat_id']) ? 0 : intval($_REQUEST['cat_id']);
$filter['intro_type']       = empty($_REQUEST['intro_type']) ? '' : trim($_REQUEST['intro_type']);
$filter['zhuti_id']       = empty($_REQUEST['zhuti_id']) ? '' : trim($_REQUEST['zhuti_id']);

我自己添加的主题  但intro_type那个搜索字段给删了,这里面无所谓可删可不删不会报错。第二步的同步做到就行了。
下面就要改搜索条件了

        if ($filter['brand_id'])
        {
            $where .= " AND brand_id='$filter[brand_id]'";
        }
       
        if ($filter['zhuti_id'])
        {
            $where .= " AND zhuti_id='$filter[zhuti_id]'";
        }
品牌是自带的,主题是仿照他写的 这样就行了。 zhuti_id这个字段是要在ecs_goods表里加的。如果是链表,那sql就要改了。
自己记录一下
原创粉丝点击