上次为大家展示了织梦二次开发的联动筛选功能,由于考虑到这个东西的实用性,我再次为大家详细的讲解一遍。
1、需要修改2个php文件,arc.listview.class.php和extend.func.php,这2个文件都是存在于/include/下,提供一个网盘下载地址:
如果你没看懂,或者直接不想动手操作,你可以在线留言,我会及时为你解决。
修改的代码如下:
//获得附加表的相关信息!!此段为添加内容!!!by scv dedecms 联动筛选功能
$addtable = $this->ChannelUnit->ChannelInfos['addtable'];
if($addtable!="")
{
$addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid ';
$addField = '';
$fields = explode(',',$this->ChannelUnit->ChannelInfos['listfields']);
foreach($fields as $k=>$v)
{
$nfields[$v] = $k;
}
if(is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields))
{
foreach($this->ChannelUnit->ChannelFields as $k=>$arr)
{
if(isset($nfields[$k]))
{
if(!empty($arr['rename'])) {
$addField .= ','.$addtable.'.'.$k.' as '.$arr['rename'];
}
else {
$addField .= ','.$addtable.'.'.$k;
}
}
}
}
if (isset($_REQUEST['tid']))
{
foreach($_GET as $key => $value) {
$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND $addtable.".wwwcms_filter($key)." = '".wwwcms_filter(urldecode($value))."'" : '';
}
}
}
else
{
$addField = '';
$addJoin = '';
}
//添加内容结束!!!by scv dedecms 联动筛选功能
2、extend.func.php 在其最后面增加如下代码:
01
//dedecms联动筛选功能 By 织梦技术研究中心 技术支持群:217479292 字符过滤函数
02
function wwwcms_filter($str,$stype="inject") {
03
if ($stype=="inject") {
04
$str = str_replace(