Dedecms自定义联动类别调用实现程序
建模型的时候一定是独立模型,先修改 includetaglibinfolink.lib.php 文件,代码如下:
require_once(DEDEROOT.'/data/enums/infotype.php');
下面添加如下代码:
require_once (DEDEROOT. '/data/enums/自定义联动类别字段名.php' ); function lib_infolink(& $ctag ,& $refObj ) { global $dsql , $nativeplace , $infotype ,$自定义联动类别字段名, $hasSetEnumJs , $cfg_cmspath , $cfg_mainsite ; global $em_nativeplaces , $em_infotypes , $em_ 自定义联动类别字段名s; //看清楚,这里后面的个S $fields = array ( 'nativeplace' => '' , 'infotype' => '' , '自定义联动类别字段名' => '' , 'typeid' => $typeid , 'channelid' => $channelid , 'linkallplace' => '' , 'linkealltype' => '' , 'linkeall自定义联动类别字段名' => '' ); $fields [ 'nativeplace' ] = $fields [ 'infotype' ] = $fields [ '自定义联动类别字段名' ] = '' ; $fields [ 'linkalltype' ] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$nativeplace}'>不限</a>" ;下面添加一行:
$fields [ 'linkeall自定义联动类别字段名' ] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定义联动类别字段名={$自定义联动类别字段名}&nativeplace={$nativeplace}'>不限</a>" ;搜索 if(is_array($ctp->CTags)) 在这句上面添加:
//自定义联动类别字段链接 if ( empty empty ($自定义联动类别字段名)) { foreach ( $em_ 自定义联动类别字段名s as $eid => $em ) { if ( $eid % 500 != 0) continue ; $fields [ '自定义联动类别字段名' ] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定义联动类别字段名={$eid}&nativeplace={$nativeplace}'>{$em}</a>" ; } } else { $sontype = ( ($自定义联动类别字段名 % 500 != 0) ? $自定义联动类别字段名 : 0 ); $toptype = ( ($自定义联动类别字段名 % 500 == 0) ? $自定义联动类别字段名 : ( $自定义联动类别字段名-( $membertype %500) ) ); $fields [ '自定义联动类别字段名' ] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定义联动类别字段名={$toptype}&nativeplace={$nativeplace}'><b>{$em_自定义联动类别字段名s[$toptype]}</b></a> " ; foreach ( $em_ 自定义联动类别字段名s as $eid => $em ) { if ( $eid < $toptype +1 || $eid > $toptype +499) continue ; if ( $eid == $自定义联动类别字段名) { $fields [ '自定义联动类别字段名' ] .= " <b>{$em}</b>" ; } else { $fields [ '自定义联动类别字段名' ] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定义联动类别字段名={$eid}&nativeplace={$nativeplace}'>{$em}</a>" ; } } }再修改 pluslist.php 文件,搜索如下代码:
$infotype = ( ( empty empty ( $infotype ) || ! is_numeric ( $infotype )) ? 0 : $infotype );在下面添加一句:
$自定义联动类别字段名 = ( ( empty empty ($自定义联动类别字段名) || ! is_numeric ($自定义联动类别字段名)) ? 0 : $自定义联动类别字段名 );再搜索如下代码:
if(!empty($infotype)) $cArr['infotype'] = $infotype;
在下面添加:
if(!empty($自定义联动类别字段名)) $cArr['自定义联动类别字段名'] = $自定义联动类别字段名;
找到 includearc.sglistview.class.php 文件,搜索如下代码:
if(!empty($this->searchArr['keyword']))
在上面添加:
//自定义联动类别 if (! empty empty ( $this ->searchArr[ '自定义联动类别字段名' ])) { if ( $this ->searchArr[ '自定义联动类别字段名' ] % 500 ==0 ) { $naddQuery .= " And arc.自定义联动类别字段名 >= '{$this->searchArr['自定义联动类别字段名']}' And arc.自定义联动类别字段名 < '" .( $this ->searchArr['自定义联动类别字段名 ']+500)."' "; } else { $naddQuery .= "Ad arc.自定义联动类别字段名 = '{$this->searchArr['自定义联动类别字段名']}'" ; } }模板调用,代码如下:
[field:linkeall自定义联动类别字段名/] [field:自定义联动类别字段名/]
查看更多关于Dedecms自定义联动类别调用实现程序 - DeDecms的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did5569