国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > CMS > 織夢(mèng)DEDE > 正文

DedeCms5.6自定義模型中的多個(gè)聯(lián)動(dòng)教程

2024-07-12 09:05:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

之前看過(guò)好幾個(gè)發(fā)布關(guān)于聯(lián)動(dòng)的應(yīng)用教程帖,但是發(fā)現(xiàn)只適合一個(gè)聯(lián)動(dòng)項(xiàng)目,多個(gè)的話就不會(huì)聯(lián)動(dòng)了,自己按照分類(lèi)信息里的聯(lián)動(dòng)改了一下成功了,現(xiàn)在寫(xiě)個(gè)教程給那些也想使用多個(gè)聯(lián)動(dòng)項(xiàng)目的朋友。(注:這個(gè)我只在自定義獨(dú)立模型中測(cè)試過(guò),其他的沒(méi)有測(cè)試)我這里是五個(gè)聯(lián)動(dòng)項(xiàng)目,如果需要跟多或是少一點(diǎn)的話,可以根據(jù)我給的代碼修改一下。

下面我們開(kāi)始修改:
第一步:修改include/taglib/infolink.lib.php文件

第一處:

require_once(DEDEROOT.'/data/enums/infotype.php');
下面添加
require_once(DEDEROOT.'/data/enums/自定義聯(lián)動(dòng)類(lèi)別字段名1.php');
require_once(DEDEROOT.'/data/enums/自定義聯(lián)動(dòng)類(lèi)別字段名2.php');
require_once(DEDEROOT.'/data/enums/自定義聯(lián)動(dòng)類(lèi)別字段名3.php');
require_once(DEDEROOT.'/data/enums/自定義聯(lián)動(dòng)類(lèi)別字段名4.php');
require_once(DEDEROOT.'/data/enums/自定義聯(lián)動(dòng)類(lèi)別字段名5.php');

第二處:

function lib_infolink(&$ctag,&$refObj)
{
global $dsql,$nativeplace,$infotype,$自定義聯(lián)動(dòng)類(lèi)別字段名1,$自定義聯(lián)動(dòng)類(lèi)別字段名2,$自定義聯(lián)動(dòng)類(lèi)別字段名3,$自定義聯(lián)動(dòng)類(lèi)別字段名4,$自定義聯(lián)動(dòng)類(lèi)別字段名5,$hasSetEnumJs,$cfg_cmspath,$cfg_mainsite;
global $em_nativeplaces,$em_infotypes,$em_自定義聯(lián)動(dòng)類(lèi)別字段名1s,$em_自定義聯(lián)動(dòng)類(lèi)別字段名2s,$em_自定義聯(lián)動(dòng)類(lèi)別字段名3s,$em_自定義聯(lián)動(dòng)類(lèi)別字段名4s,$em_自定義聯(lián)動(dòng)類(lèi)別字段名5s;??//看清楚,這里后面的個(gè)S 


第三處:


$fields = array('nativeplace'=>'','infotype'=>'','typeid'=>$typeid,
'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=>'');

$fields['nativeplace'] = $fields['infotype'] = '';
后面添加

$fields = array('自定義聯(lián)動(dòng)類(lèi)別字段名1'=>'','自定義聯(lián)動(dòng)類(lèi)別字段名2’=>'','自定義聯(lián)動(dòng)類(lèi)別字段名3'=>'','自定義聯(lián)動(dòng)類(lèi)別字段名4'=>'','自定義聯(lián)動(dòng)類(lèi)別字段名5'=>'','typeid'=>$typeid,
'channelid'=>$channelid,'linkallplace'=>'','linkalltype'=>'','linkall自定義聯(lián)動(dòng)類(lèi)別字段名1'=>'','linkall自定義聯(lián)動(dòng)類(lèi)別字段名2‘=>'','linkall自定義聯(lián)動(dòng)類(lèi)別字段名3'=>'','linkall自定義聯(lián)動(dòng)類(lèi)別字段名4'=>'','linkall自定義聯(lián)動(dòng)類(lèi)別字段名5'=>'');

$fields['自定義聯(lián)動(dòng)類(lèi)別字段名1'] = $fields['自定義聯(lián)動(dòng)類(lèi)別字段名2'] = $fields['自定義聯(lián)動(dòng)類(lèi)別字段名3'] = $fields['自定義聯(lián)動(dòng)類(lèi)別字段名4'] = $fields['自定義聯(lián)動(dòng)類(lèi)別字段名5'] = '';

第四處:


$fields['linkalltype'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&nativeplace={$nativeplace}'>不限</a>";

后面添加

$fields['linkall自定義聯(lián)動(dòng)類(lèi)別字段名1'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定義聯(lián)動(dòng)類(lèi)別字段名1={$eid}&自定義聯(lián)動(dòng)類(lèi)別字段名2={$自定義聯(lián)動(dòng)類(lèi)別字段名2}&自定義聯(lián)動(dòng)類(lèi)別字段名3={$自定義聯(lián)動(dòng)類(lèi)別字段名3}&自定義聯(lián)動(dòng)類(lèi)別字段名4={$自定義聯(lián)動(dòng)類(lèi)別字段名4}&自定義聯(lián)動(dòng)類(lèi)別字段名5={$自定義聯(lián)動(dòng)類(lèi)別字段名5}'>全部</a>";

(這里注意了,想要聯(lián)動(dòng)這個(gè)地方是關(guān)鍵之一,后面的聯(lián)動(dòng)字段一定都要有,如果你有增加聯(lián)動(dòng)那么這里一定要加全了)

第五處:



if(is_array($ctp->CTags))

上面添加

if(empty($自定義聯(lián)動(dòng)類(lèi)別字段名1))
{
foreach($em_自定義聯(lián)動(dòng)類(lèi)別字段名1s as $eid=>$em)
{
if($eid % 500 != 0) continue;
$fields['自定義聯(lián)動(dòng)類(lèi)別字段名1'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定義聯(lián)動(dòng)類(lèi)別字段名1={$eid}&自定義聯(lián)動(dòng)類(lèi)別字段名2={$自定義聯(lián)動(dòng)類(lèi)別字段名2}&自定義聯(lián)動(dòng)類(lèi)別字段名3={$自定義聯(lián)動(dòng)類(lèi)別字段名3}&自定義聯(lián)動(dòng)類(lèi)別字段名4={$自定義聯(lián)動(dòng)類(lèi)別字段名4}&自定義聯(lián)動(dòng)類(lèi)別字段名5={$自定義聯(lián)動(dòng)類(lèi)別字段名5}'>{$em}</a>";
}
}
else
{
foreach($em_自定義聯(lián)動(dòng)類(lèi)別字段名1s as $eid=>$em)
{
if($eid % 500 != 0) continue; 
if(isset($_GET['自定義聯(lián)動(dòng)類(lèi)別字段名1']))
{
$navclass=$_GET['自定義聯(lián)動(dòng)類(lèi)別字段名1']; 
if ($navclass==$eid) 

$navclass=' style=color:#ff0000;font-weight:bold';

$fields['自定義聯(lián)動(dòng)類(lèi)別字段名1'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&自定義聯(lián)動(dòng)類(lèi)別字段名1={$eid}&自定義聯(lián)動(dòng)類(lèi)別字段名2={$自定義聯(lián)動(dòng)類(lèi)別字段名2}&自定義聯(lián)動(dòng)類(lèi)別字段名3={$自定義聯(lián)動(dòng)類(lèi)別字段名3}&自定義聯(lián)動(dòng)類(lèi)別字段名4={$自定義聯(lián)動(dòng)類(lèi)別字段名4}&自定義聯(lián)動(dòng)類(lèi)別字段名5={$自定義聯(lián)動(dòng)類(lèi)別字段名5}'".$navclass.">{$em}</a>";
}
}
}

(這里也多聯(lián)動(dòng)的關(guān)鍵之一,由于東西太多,我只列出一個(gè),其他的自己添加一下,注意的是在鏈接也就是a href里面自定義聯(lián)動(dòng)類(lèi)別字段名一定要加全了)

第二步:修改plus/list.php 文件

第一處:

$infotype = ( (empty($infotype) || !is_numeric($infotype)) ? 0 : $infotype );

下面加上

$自定義聯(lián)動(dòng)類(lèi)別字段名1 = ( (empty($自定義聯(lián)動(dòng)類(lèi)別字段名1) || !is_numeric($自定義聯(lián)動(dòng)類(lèi)別字段名1)) ? 0 : $自定義聯(lián)動(dòng)類(lèi)別字段名1 );(多個(gè)就復(fù)制改名即可)

第二處:


if(!empty($infotype)) $cArr['infotype'] = $infotype;

下面加上

if(!empty($自定義聯(lián)動(dòng)類(lèi)別字段名1)) $cArr['自定義聯(lián)動(dòng)類(lèi)別字段名1'] = $自定義聯(lián)動(dòng)類(lèi)別字段名1;(多個(gè)就復(fù)制改名即可)

第三步:修改include/arc.sglistview.class.php 文件


if(!empty($this->searchArr['infotype']))
{
if($this->searchArr['infotype'] % 500 ==0 )
{
$naddQuery .= " And arc.infotype >= '{$this->searchArr['infotype']}' And arc.infotype < '".($this->searchArr['infotype']+500)."'";
}
else
{
$naddQuery .= "And arc.infotype = '{$this->searchArr['infotype']}'";
}
}

下面加上

if(!empty($this->searchArr['jztype']))
{
if($this->searchArr['jztype'] % 500 ==0 )
{
$naddQuery .= " And arc.jztype >= '{$this->searchArr['jztype']}' And arc.jztype < '".($this->searchArr['jztype']+500)."'";
}
else
{
$naddQuery .= "And arc.jztype = '{$this->searchArr['jztype']}'";
}
}
(多個(gè)就復(fù)制改名即可)


第四步:修改include/taglib/infolink.lib.php文件(這個(gè)只針對(duì)需要二級(jí)聯(lián)動(dòng)改一級(jí)的人用的,如果不需要這么做的跳過(guò))

這里都注掉
/*
$sontype = ( ($househx % 500 != 0) ? $househx : 0 );
$toptype = ( ($househx % 500 == 0) ? $househx : ( $househx-($membertype%500) ) );
$fields['househx'] = "<a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&househx={$toptype}&nativeplace={$nativeplace}'><b>{$em_househxs[$toptype]}</b></a> ";


下級(jí)顯示不顯示
foreach($em_househxs as $eid=>$em)
{
if($eid < $toptype+1 || $eid > $toptype+499) continue;
if($eid == $househx) {
$fields['househx'] .= " <b>{$em}</b>";
}
else {
$fields['househx'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&househx={$eid}&nativeplace={$nativeplace}'>{$em}</a>";
}
}
*/

換成

foreach($em_househxs as $eid=>$em)
{
if($eid % 500 != 0) continue; 
if(isset($_GET['househx']))
{
$navclass=$_GET['househx']; 
if ($navclass==$eid) 

$navclass=' style=color:#ff0000';

$fields['househx'] .= " <a href='{$baseurl}plus/list.php?channelid={$channelid}&tid={$typeid}&househx={$eid}&nativeplace={$nativeplace}'".$navclass.">{$em}</a>";

}

第五步:模板調(diào)用

[field:linkeall自定義聯(lián)動(dòng)類(lèi)別字段名1/] [field:自定義聯(lián)動(dòng)類(lèi)別字段名1 /] (多個(gè)就復(fù)制改名即可)

切記前后一定要加上{dede:infolink}和{/dede:infolink}要不然是調(diào)用不出來(lái)的。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南宁市| 西青区| 晋州市| 巴东县| 登封市| 会理县| 景德镇市| 手游| 沂南县| 伊川县| 安溪县| 哈巴河县| 石景山区| 金乡县| 侯马市| 延津县| 沙湾县| 克山县| 休宁县| 云霄县| 永吉县| 饶河县| 皮山县| 略阳县| 奉节县| 灌云县| 马公市| 曲阜市| 灵山县| 成安县| 丰城市| 弥勒县| 军事| 湖州市| 丰都县| 横峰县| 耒阳市| 黄石市| 呼玛县| 新和县| 肥乡县|