DedeCMS多条件筛选以筛选词为标题

dedecms筛选功能二次开发

数以万计的DedeCMS的站长提出的问题,有相关帖子,DedeCMS本身模板里面没有直接的筛选功能,有时候需要对产品进行分类,本帖既能解决DedeCMS筛选问题,又能产生利于SEO优化排名的标题,伪静态地址修改。

也有部分站长确实按照步骤去做了,但是还是出不来,下面的来看看运用SEO思维是怎么做站的吧。SEO思想即是分享也是价值。

用重庆装修公司的网站举例,先看最后效果,利于优化的标题,面包屑导航里面也有筛选的关键字。移动端筛选移步到《DedeCMS筛选简单实现方法不改后台源文件》,DedeCMS按最新最热筛选移步到《DedeCMS列表ajax按更新时间,点击,评论,星级排序》

 

1.修改include/arc.listview.class.php和include/extend.func.php文件

这两个文件改动比较大,建议大家直接下载附件压缩包里面的文件替换。下载链接:http://pan.baidu.com/s/1ntt73i5

特别提醒

由于这两个文件做二次开发的时候经常用到,所以替换的时候要注意备份源文件。

2.添加自定义字段

dede添加自定义字段

具体的字段添加方法可以自己搜,或参考《DedeCMS如何添加自定义字段与前台调用》。筛选的自定义字段“zxfg”、“zxmj”、“hx”数据类型都是select。

3.html部分

调用比较简单  {dede:php}AddFilter(7,1,'zxfg,hx,zxmj');{/dede:php},说明:数字7为自定义字段的频道id为7,1是使用超链接进行选择,2是使用select下拉框选,自定义字段中间用半角逗号分开。这里有可能遇到无法运行php的情况,这是由于DedecmsV5.7版本后面设置了一个限制,在后台点击:系统设置>其他选项,在模板引擎禁用标签的“php”删除即可。

dede不能运行php

4.css样式部分

.shaixuan{width:1088px;height:auto;margin:0 auto;border:1px solid #c0c0c0}
.scv-shaixuan{padding:10px;text-align:left;font-size:14px;line-height:14px}
.scv-shaixuan a{margin-left:3px;color:#000}
.scv-shaixuan a:hover{color:#c00}
.scv-shaixuan span{padding:0 5px;color:#fff;background:#c00}

到这里,全部筛选功能实现,接下来是标题生成部分。

5.标题、面包屑导航生成

 网站头部

<title>
{dede:field name='words' runphp='yes'}@me=$_GET['zxfg'].$_GET['hx'].$_GET['zxmj'];{/dede:field}
{dede:field.seotitle /}
</title>

生成如:"现代简约风格两室一厅50-60平米_频道名_网站名"的标题。

面包屑导航

<p class="place">当前位置 :
{dede:field name='position'/}
{dede:field name='words' runphp='yes'}@me=$_GET['zxfg'].$_GET['hx'].$_GET['zxmj'];{/dede:field}
</p>

生成如:“首页>频道页>现代简约风格两室一厅50-60平米”的面包屑导航。

6.伪静态部分

为什么页面采用伪静态?一般认为动态页面百度蜘蛛抓取有困难,或者页面标题长度过长,不利于用户体验。网上的实现方法多是把中文换成拼音的形式,但是摸索一段时间后觉得百度仍然抓取得到,也就没继续研究下去。如果有朋友执意要弄成伪静态那就研究一下正则表达式。参考文章《DedeCMS实现TAG伪静态(万网虚拟主机)》和文章《DedeCMS实现全站php伪静态》

2017-03-21写了一篇新的文章,《DedeCMS多条件筛选带删除功能》样式如下:

DedeCMS筛选带删除已选功能