织梦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='width:200'>\r\n";
echo "<option value='0' selected>--不限栏目--</option>\r\n";
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和创意说明的 则是搜索的附加表
就这样就完成了。哈哈,简单吧!
然后 打开需要搜索的模板,我用的是通用的模板,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='width:200'>\r\n";
echo "<option value='0' selected>--不限栏目--</option>\r\n";
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通