名站网址导航为大驾家提供DedeCMS站点程序站点教程相关的知识,比如织梦程序安装教程,织梦程序系统故障等教程。
这文章标题起的好像不太好理解,什么是使用图片联动筛选?正常织梦程序的联动筛选是如下图所示:
现在咱们要实现的目标是把第一行筛选变成用图片代替文本的筛选
若不会织梦程序dedecms网站程序筛选,请看教程:http://www.mzdh.net/a/dedejq/9143.html
思路:
思路2:可不可以根据生成的筛选链接直接在模板里面添加<img src="">,相关具体代码如下如下所示:
<a title="红色" href="/plus/list.php?tid=5&yanse=红色"><img src="/sx00.gif"></a>
复制相关具体代码如下
这样看上去就可以了,但是,要注意这样就把筛选写死了,而筛选是动态的,也就是选择不同的颜色就会有不同的网站内容,而且,还与下面的“类型”筛选是联动的,所以,固定好只能筛选一次,这种相关具体操作方法行不通。
思路3:上面两种相关具体操作方法试了以后,那接下来唯一要做的就是要修改php相关具体代码如下了,在include目录里面找到网站文件extend.func.php(这个网站文件是已经二次网站开发过的具体的相关具体代码如下请看上面给的教程连接),找到系统数据库函数 AddFilter($channelid, $type=1, $fieldsnamef, $defaulttid, $loadtype='autofield')
咱们在前网页网站的前台看到的筛选连接就是这个系统数据库函数生成的,所以,只要改这个系统数据库函数就可以了。
找到相关具体代码如下:switch ($type)
把这个switch里面的相关具体代码如下全部替换成如下相关具体代码如下:
switch ($type) { case 1: $dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a title="全部" href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</a>' : '<span>全部</span>').' '; $addonfields_items = explode(",",$ctag->GetAtt('default')); for ($i=0; $i<count($addonfields_items); $i ) { $href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]);//echo $href; $dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? '<a title="'.$addonfields_items[$i].'" href="'.$href.'"><img src="/sx0'.$i.'.gif"></a>' : '<span><img src="/sx0'.$i.'.gif"></a></span>')." "; } $dede_addonfields .= '<br/>'; break; case 2: $dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a title="全部" href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</a>' : '<span>全部</span>').' '; $addonfields_items = explode(",",$ctag->GetAtt('default')); for ($i=0; $i<count($addonfields_items); $i ) { $href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]);//echo $href; $dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? '<a title="'.$addonfields_items[$i].'" href="'.$href.'">'.$addonfields_items[$i].'</a>' : '<span>'.$addonfields_items[$i].'</span>')." "; } $dede_addonfields .= '<br/>'; break; } |
已经成功实现了,上面的“全部”和第一张图片不显示,不是因为不对,而是我没有添加上图片,只加了三张图片,您可以找到相应的图片,直接放到根目录即可。
“全部”可以在上面的相关具体代码如下把全部替换成<img src="">即可,可以参考上面我替换好的:
<img src="/sx0'.$i.'.gif"></a>
注意:
您的图片必须以00.gif,01.gif这样的顺序起名;
图片请放在根目录里面,如果您想放到根目录里面其它目录里面,请修改上面的图片路径。
模板具体调用请使用如下方式:
{dede:php} AddFilter(1,1,'yanse'); {/dede:php}
{dede:php} AddFilter(1,2,'leixing'); {/dede:php}
其中,AddFileter(1,1,'yanse')这里面的第二个数值代表不同的筛选链接,1表示使用图片,2表示文本链接,可以根据需要进行设置。
如果我都使用图片怎么设置,也不难,只需要把上面的case 1:复制一份放到case 2下面并起名为case3,然后,具体调用方式为:
{dede:php} AddFilter(1,3,'leixing'); {/dede:php}
复制相关具体代码如下
这样就二个筛选就可以使用图片了。
关于DedeCMS站点程序站点教程相关的知识,就说到这里了希望能帮助朋友们。织梦程序dedecms网站程序网站的后台文章数据导出到excel教程