织梦dedecms自定义搜索可以按照附加表字段进行搜索

因为需要在网上搜索了一下找到此修改方法:
首先 是新建模型:商标信息 模型;附加表为dede_shangbiao ,附加字段先添加了2个,sbID(商标ID)和chuangyi(创意说明)
然后 打开需要搜索的模板,我用的是通用的模板,head.htm 稍后有图说明,      
<form action="{dede:global.cfg_cmsurl /}/plus/advancedsearch.php" method="post">
               <input type="hidden" name="mid" value="100" /> //100是模型的ID号
               <input type="hidden" name="dopost" value="search" />
               <input name="keyword" type="text" class="search-keyword" id="search-keyword" />
                      {dede:php}
          $tl = new TypeLink(100);
              $typeOpti***** = $tl->GetOptionArray(0,0,100);
              echo "<select name='typeid' style='200'> ";
              echo "<option value='0' selected>--不限栏目--</option> ";
              echo $typeOpti*****;
              echo "</select>";
           {/dede:php}
                <select name="serachvalue" class="search-option">
                      <option value="q" selected='1'>商标名称</option>
                      <option value="sbid">商标ID</option>
                      <option value="chuangyi">创意说明</option>
                 </select>    
                <button type="submit" class="search-submit">Search Now</button>
            </form>
最后是修改plus/advancedsearch.php 文件
找到$q = stripslashes($q); 大概在43行左右在其上面添加   
     if($_POST["serachvalue"] == "q"){$q=$keyword;}
     elseif($_POST["serachvalue"] == "sbid"){$sbid=$keyword;}
    elseif($_POST["serachvalue"] == "chuangyi"){$chuangyi=$keyword;}
判断是根据神马搜索的,
找到if($q != ''){$where .= " and main.title like '%$q%' ";}修改为  
  if($q != ''){$where .= " and main.title like '%$q%' ";}
    elseif($sbid != ''){$where.=" and addon.sbID='$sbid'";}
    elseif($chuangyi != ''){$where .="and addon.chuangyi like '%$chuangyi%'";}
如果是搜索标题的话查询的是主表,如是搜索商标ID和创意说明的 则是搜索的附加表
就这样就完成了。哈哈,简单吧!
 
 
http://www.xunyangie.com/dedecms/wenzhang/xunyang210.html
原文地址:https://www.cnblogs.com/snowhite/p/6747872.html