最终的页面:
步骤:
1.搜索标签代码
<input id="keyword" type="text" class="text" onfocus= "this.style.color='#000';
if(this.value=='品牌/型号/套餐/配件')this.value=''" onblur="if(this.value==''){this.value='品牌/型号/套餐/配件';this.style.color='#999'}" maxlength="100" value="品牌/型号/套餐/配件" name="Keyword" />
<div class="search_word"> <input id="Submit" type="submit" value="搜索" name="Submit" class="sub" onclick="OnSearchCheckAndSubmit();" /></div>
<script type="text/javascript">
var searchBox=document.getElementById("keyword");
searchBox.onkeydown=entersearch;
function OnSearchCheckAndSubmit(){
var keyword = searchBox.value;
if (keyword == '' || keyword == null ||keyword == '品牌/型号/套餐/配件') {
alert("您没有输入任何内容!");
return;
}
else {
window.location = "{PE.SiteConfig.applicationpath/}search.aspx?searchtype=0&Keyword=" + escape(keyword);
}
}
function entersearch(event){
var event = event|| window.event;
if (event.keyCode == 13)
{
OnSearchCheckAndSubmit();
}else{
return;
}
}
</script>
2.添加自定义字段(前面文章有介绍到);
3.选择全站搜索结果页模板(“系统设置”→“模板标签管理”→“动态页模板配置”)
4.修改“全站搜索按标题 ”标签的查询语句(红色的为添加的字段所在的表中)
<xsl:template match="/">
{PE.Label id="全站搜索按标题_普通式" queryCond="SELECT TOP @pagesize
*
FROM
PE_CommonModel CM INNER JOIN PE_U_Photo PP ON(CM.GeneralID=PP.ID)
WHERE
CM.GeneralID NOT IN (SELECT TOP @startrow ICM.GeneralID FROM PE_CommonModel ICM WHERE ICM.Status = 99 AND ICM.Title LIKE '%<xsl:value-of select="/NewDataSet/Table/Title"/>%' ORDER BY ICM.UpdateTime DESC) AND
CM.Status = 99 AND CM.SigninType!=2 AND
CM.Title LIKE '%<xsl:value-of select="/NewDataSet/Table/Title"/>%'
ORDER BY
CM.UpdateTime DESC" queryCount="SELECT COUNT (ICM.GeneralID) FROM PE_CommonModel ICM WHERE ICM.Status = 99 AND ICM.Title LIKE '%<xsl:value-of select="/NewDataSet/Table/Title"/>%'" titleLength="<xsl:value-of select="$titleLength"/>" page="true" pagesize="<xsl:value-of select="$outputQty"/>" urlpage="true" /}
</xsl:template>
5.在“全站搜索按标题_普通式”中添加所要显示的内容(红色的部分)
<?xml version="1.0" encoding="utf-8"?>
<root>
<LabelType>样式类</LabelType>
<LabelIntro>
</LabelIntro>
<OutType>sin</OutType>
<LabelDataType>sql_sysquery</LabelDataType>
<EnabelAjax>False</EnabelAjax>
<IsXsltSql>false</IsXsltSql>
<IsXsltCountSql>false</IsXsltCountSql>
<LabelSqlString>@queryCond </LabelSqlString>
<attributes>
<name>queryCount</name>
<datatype>supersql</datatype>
<default>
</default>
<intro>统计条件</intro>
</attributes>
<attributes>
<name>queryCond</name>
<datatype>supersql</datatype>
<default>SELECT TOP 10 * FROM PE_CommonModel</default>
<intro>查询条件</intro>
</attributes>
<attributes>
<name>titleLength</name>
<datatype>supersql</datatype>
<default>60</default>
<intro>标题长度</intro>
</attributes>
<attributes>
<name>imageClass</name>
<datatype>string</datatype>
<default>pe_u_thumb</default>
<intro>图片区块选择器名</intro>
</attributes>
<attributes>
<name>titleClass</name>
<datatype>string</datatype>
<default>pe_u_thumb_title</default>
<intro>标题简介区择器名</intro>
</attributes>
<attributes>
<name>xsjgClass</name>
<datatype>double</datatype>
<default>pe_u_thumb_xsjg</default>
<intro>显示价格区择器名</intro>
</attributes>
<attributes>
<name>imageWidth</name>
<datatype>int</datatype>
<default>160</default>
<intro>图片宽度</intro>
</attributes>
<attributes>
<name>imageHeight</name>
<datatype>int</datatype>
<default>120</default>
<intro>图片高度</intro>
</attributes>
<attributes>
<name>optionalExtend</name>
<datatype>string</datatype>
<default />
<intro>可选扩展参数</intro>
</attributes>
<UsePage>True</UsePage>
<LabelDataType>sql_sysquery</LabelDataType>
<IsXsltSql>false</IsXsltSql>
<IsXsltCountSql>false</IsXsltCountSql>
<LabelSqlString>@queryCond </LabelSqlString>
<LabelSqlCount>@queryCount</LabelSqlCount>
<Version officialVersion="" modifiedVersions="3607" compatibleVersion="" />
<LabelTemplate><![CDATA[<?xml version="1.0" encoding="utf-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pe="labelproc" exclude-result-prefixes="pe">
<xsl:output method="html" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:param name="contentLength" />
<xsl:param name="imageClass" />
<xsl:param name="titleClass" />
<xsl:param name="xsjgClass" />
<xsl:param name="imageWidth" />
<xsl:param name="imageHeight" />
<xsl:param name="queryCount" />
<xsl:param name="queryCond" />
<xsl:param name="optionalExtend" />
<xsl:param name="titleLength" />
<xsl:template match="NewDataSet">
<xsl:choose>
<xsl:when test="count(Table)=0">
<li style="color:red">没有相关搜索结果!</li>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="Table">
<li>
<div class="{$imageClass}"> <a>
<xsl:attribute name="href"> <xsl:value-of select="pe:GetInfoPath(NodeID,GeneralID,InputTime,PinyinTitle,HtmlPageName)" /> </xsl:attribute>
<xsl:attribute name="target">
<xsl:choose>
<xsl:when test="pe:GetNodeFieldName(NodeID, 'ItemOpenType') = 0">
_self
</xsl:when>
<xsl:otherwise>
_blank
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:element name="img">
<xsl:attribute name="src">
<xsl:choose>
<xsl:when test="DefaultPicUrl != ''">
<xsl:value-of select="pe:ConvertAbsolutePath(DefaultPicUrl)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="pe:UpLoadDir()"/>nopic.gif
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:attribute name="alt"> <xsl:value-of select="Title" /> </xsl:attribute>
<xsl:if test="$imageWidth > 0">
<xsl:attribute name="width"> <xsl:value-of select="$imageWidth" /> </xsl:attribute>
</xsl:if>
<xsl:if test="$imageHeight > 0">
<xsl:attribute name="height"> <xsl:value-of select="$imageHeight" /> </xsl:attribute>
</xsl:if>
<xsl:attribute name="border">0</xsl:attribute>
</xsl:element>
</a>
</div>
<span>
<xsl:attribute name="href">
<xsl:value-of select="pe:GetInfoPath(NodeID,GeneralID,InputTime,PinyinTitle,HtmlPageName)"/>
</xsl:attribute>
<xsl:attribute name="target">_blank</xsl:attribute>
<xsl:attribute name="title">标题:<xsl:value-of select="Title"/>
</xsl:attribute>
<xsl:value-of select="pe:CutText(Title,$titleLength,'…')" />
</span>
<p>
<xsl:attribute name="href">
<xsl:value-of select="/NewDataSet/Table/xsjg"/>
</xsl:attribute>
<xsl:attribute name="target">_blank</xsl:attribute>
<xsl:attribute name="xsjg">价格:<xsl:value-of select="xsjg"/>
</xsl:attribute>¥
<xsl:value-of select="pe:CutText(xsjg,$titleLength,'…')" />
</p>
</li>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:transform>]]></LabelTemplate>
</root>
- 帝国cms调用栏目自定义字段(栏目简介)如何操作
开源的cms就像一个操作系统,可以满足大部分人的需求,如果你想增加一些特殊的功能,那就二次开发呗,就像APP一样.帝国cms默认的栏目是没有调用栏目自定义字段的,我们可以增加一些概述类的文字,让读者对 ...
- 动易CMS漏洞收集
动易SiteWeaver6.8短消息0day跨站漏洞 user用户登陆,默认账号密码 admin/admin888 短消息代码模式下编辑,预览 <img src="../Skin/bl ...
- 动易CMS - 添加自定义字段
SELECT TOP 10 * FROM PE_CommonModel C INNER JOIN PE_U_xsjg U ON C.ItemID=U.ID WHERE C.Status=99 ORDE ...
- 动易CMS之标签管理
一.如何添加一个标签 1.系统设置->模板标签管理->添加标签 2.输入标签名称,根据需要选择数据设置: sql语句则选择[系统数据库SQL查询] 3.添加参数 4.系统可以根据设置的条件 ...
- 动易CMS - 设为首页代码和加入收藏代码(兼容各种浏览器)
注意: 这里虽然说是兼容,但是有些浏览器的设置就是不支持用js来把页面设为首页,加入收藏夹,只能让用户手动去在浏览器或者按键去设置这些功能,这里说的兼容是指当浏览器有这个设置的时候js会有提示. ...
- 动易cms .net版本后台拿shell
PS:前提是要有IIS6.0的析漏洞 网上我找了好一会儿没有找到.直奔主题.至于怎么弄到密码,全靠坑蒙拐骗. 系统设置=>模板标签管理=>模板管理 然后选则上传模板(如果新建的话会被限制掉 ...
- dedecms搜索模板,使用{dede:list}标签调用自定义字段不显示(空白)
前几天使用织梦做一个搜索功能,正常使用{dede:list}调用自定义内容模型中的自定义字段,代码如下:(自定义字段的调用可以参考:http://www.dede58.com/a/dedejq/523 ...
- DedeCMS搜索结果页面调用自定义字段的方法
有时候在我们需要在dedecms的搜索结果页面调用自定义字段,尤其是在做下载站的时候,需要在搜索结果页调用软件大小以及软件等级等等,但是我们发现在搜索结果页模板中使用“[field:字段名]”标签无法 ...
- 纸壳CMS现已支持自定义扩展字段
简介 纸壳CMS是开源免费的可视化内容管理系统. GitHub https://github.com/SeriaWei/ZKEACMS 自定义字段 纸壳CMS现已支持自定义字段,在不修改代码的情况下, ...
随机推荐
- jq 动态添加.active 实现导航效果
代码思路: 页面4: 页面5: 代码思路: 通过jq获取你打开页面的链接 window.location.pathname: 在HTML中给自己的li加入一个ID id的命名与网址链接中的href相 ...
- Android binder机制---概述
1.进程间通讯的原因 目前操作系统都使用虚拟存储技术,管理内存. 假设是32位机器,0-3G是用户空间,3-4G是系统使用.虚拟内存和逻辑内存都按4K分页.这样虚拟内存和逻辑内存就存在对应关系. 一个 ...
- Android的47个小知识
1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environme ...
- 16汇编第十讲完结Call变为函数以及指令的最后讲解
16汇编完结Call变为函数以及指令的最后讲解 学了10天的16位汇编,这一讲就结束了,这里总结一下昨天的LOOP指令的缺陷,因为lOOP指令的缺陷,所以我们都改为下面的汇编代码使用了,自己去写,其中 ...
- MySQL(八)之DML
昨天晚上很晚的时候才写完MySQL的常用函数,今天给大家讲一下MySQL的DML.接下来让我们直接来学习了,今天感冒了.身体很难受下午的时候要去买一波药了,不然程序员也扛不住呀. DML全称Data ...
- 【找不到与请求 URI匹配的 HTTP 资源】(转)
在.net下,创建一个HTTP服务,有很多方案,比较老ashx,一般处理程序(HttpHandler), Web Service SOAP协议的,数据格式是XML,HTTP协议 WCF ...
- 大数的减法函数--c语言
代码展示: http://paste.ubuntu.com/23693598/ #include<stdio.h> #include<stdlib.h> #include& ...
- 转: 【Java并发编程】之十八:第五篇中volatile意外问题的正确分析解答(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17382679 在<Java并发编程学习笔记之五:volatile变量修饰符-意料之外 ...
- 【Alpha阶段】第三次scrum meeting
每日任务: ·1.本次会议为第三次Meeting会议: ·2.本次会议于今日上午08:30第五社区五号楼下召开,会议时长15min. 二.每个人的工作: 三.工作中遇到的困难: 由于对编程语言的学习不 ...
- 【Alpha阶段】第四次 Scrum Meeting
每日任务 1.本次会议为第 四次 Meeting会议: 2.本次会议在上午09:35,大课间休息时间在禹州楼召开,召开本次会议为20分钟,分析完善接下来的任务: 一.今日站立式会议照片 二.每个人的工 ...