꿈 CMS 4 하위 열 호출?

< /p>

1, 파일 수정: \include\taglib 디렉토리에 있는 channel.lib.php, 위 파일 lt 를 모두 복사하여 다음 코드를 교체하십시오. -응? Php

function? Lib _ channel (amp; $ctag, amp;; $ refobj)

{

글로벌? $_sys_globals, $envs, $ dsql; < /p>

$attlist? =? "typeid|0, reid|0, row|100, col|1, type|son, current style |";

fillattsdefault ($ ctag-gt; CAttribute-gt;; Items, $ attlist);

extract ($ ctag-gt; CAttribute-gt;; Items,? Extr _ skip); < /p>

$innertext? =? $ ctag-gt; Getinnertext (); < /p>

$cacheid? =? Trim ($ cacheid); < /p>

if($cacheid? ! ='')? {

$likeType? =? GetCacheBlock($cacheid);); < /p>

if($likeType? ! =? ')? 리튼? $ liketype; < /p>

}

$reid? =? 0; < /p>

$topid? =? 0; < /p>

if(empty($typeid)? Amp;; Amp;; -응? $envs['typeid']! =0)

{

$typeid? =? $ envs ['typeid']; < /p>

$reid? =? $ envs ['Reid'];

} else {

$ Reid = 0;

}

if ($ type = ='' | | $ type = =' sun')? $ type = "son"; < /p>

if($innertext=='')? $innertext? =? Getsystemplets ("channel _ list.htm"); < /p>

if($reid==0? Amp;; Amp;; -응? $ typeidgt; 0)

{

$dbrow? =? $ dsql-gt; 게톤 ("선택"? 리드? 시작? Dede_arctype? 어, 어? Id='$typeid'? " ); < /p>

if(is_array($dbrow))? $reid? =? $ dbrow ['Reid']; < /p>

}

$likeType? =? ';

if ($ type = =' top')

{

$ SQL? =? "선택? Id, typename, typedir, isdefault, ispart, defaultname, namerule2, moresite, siteurl, sitepath, default Dede_arctype? 어, 어? Reid=0? And? Ishiddenlt;; Gt; 1? 주문? 비? Sortrank? Asc? 리미트? 0, $ row "; < /p>

}

else? If ($ type = = "son")

{

//if (

$ _ sys _ globals ['typeid'] gt; 0)? $typeid? =? $ _ sys _ globals ['typeid']; < /p>

if($typeid==0)? {

복귀? '; < /p>

}

$sql? =? "선택? Id, typename, typedir, isdefault, ispart, defaultname, namerule2, moresite, siteurl, sitepath, default Dede_arctype? 어, 어? Reid='$typeid'? And? Ishiddenlt;; Gt; 1? 주문? 비? Sortrank? Asc? 리미트? 0, $ row "; < /p>

}

else? If ($ type = = "self")

{

if ($ Reid = = 0)? {

복귀? '; < /p>

}

$sql? =? "선택? Id, typename, typedir, isdefault, ispart, defaultname, namerule2, moresite, siteurl, sitepath, default Dede_arctype `? 어, 어? Reid='$reid'? And? Ishiddenlt;; Gt; 1? 주문? 비? Sortrank? Asc? 리미트? 0, $ row "; < /p>

}

//And? Idlt;; Gt; $typeid'

$needRel? =? False;; < /p>

$dtp2? =? 새? Dedetagparse ();

$ dtp2-gt; SetNameSpace("field ","[","] ");

$ dtp2-gt; Loadsource ($ innertext); < /p>

$dsql2? =? 클론? $ dsql;

$ dsql-gt; SetQuery($sql););

$ dsql-gt; Execute ();

$ 라인? =? $ row; < /p>

// 하위 섹션이 있는지 확인하고 rel 프롬프트 (보조 메뉴)

if (ereg (':rel',? $innertext)? $needRel? =? 참; < /p>

if(empty($sql))? 리튼? ';

$ dsql-gt; SetQuery($sql););

$ dsql-gt; Execute (); < /p>

$totalRow? =? $ dsql-gt; Gettotalrow ();

$ 글로벌 ['자동 인덱스']? =? 0;

for ($ I = 0; $i? Lt; -응? $ line; $ I++)

{

if ($ colgt; 1)? $likeType? . =? "lt; Dlgt;; \ r \ n ";

for ($ j = 0; $ jlt; $ col; $ j++)

{

if ($ colgt; 1)? $likeType? . =? "lt; Ddgt;; \ r \ n ";

if ($ row = $ dsql-gt; GetArray())

{

> $row['sonids']? =? $row['rel']? =? ';

if ($ needrel)

{

$ row ['sonids']? =? GetSonIds($row['id'],? 0,? False); < /p>

if($row['sonids']=='')? $row['rel']? =? '; < /p>

else? $row['rel']? =? "? Rel =' dropmenu {$ row ['id']}' "; < /p>

}

// 형제 열에서 현재 열의 스타일 < /p>

if (? ($row['id']==$typeid? | |? ($topid==$row['id']? Amp;; Amp;; -응? $type=='top')? )? Amp;; Amp;; -응? $currentstyle! =''? ) < /p>

{

if($currentstyle! ='')

{

$linkOkstr? =? $ currentstyle;

$ row ['유형 링크']? =? GetOneTypeUrlA($row);); < /p>

$linkOkstr? =? Str_replace("~rel~ ",$row['rel'], $ linkokstr); < /p>

$linkOkstr? =? Str_replace("~id~ ",$row['id'], $ linkokstr); < /p>

$linkOkstr? =? Str_replace("~typelink~ ",$row['typelink'], $ linkokstr); < /p>

$linkOkstr? =? Str_replace("~typename~ ",$row['typename'], $ linkokstr); < /p>

$likeType? . =? $ linkokstr;

}

} else

{

$ row ['유형 링크'] =? $ row ['유형 URL']? =? GetOneTypeUrlA($row););

if (is _ array ($ dtp2-gt; Ctags))

{

foreach ($ dtp2-gt; CTags? As? $ tagid = gt; $ ctag) {

if (isset ($ row [$ ctag-gt; Getname ()]))

{

$ dtp2-gt; Assign($tagid, $ row [$ ctag-gt; GetName()]);]); < /p>

}

elseif? (preg _ match ('/son channel [0-9] * $/',$ ctag-gt; Getname ()))

{

$ dtp2-gt; Assign($tagid, lib_channel_son($ctag, $row['id'], $ dsql2));

}

}

}

$ liketype? . =? $ dtp2-gt; Getresult ();

}

}

if ($ colgt; 1)? $likeType? . =? "lt; /ddgt; \ r \ n ";

$ 글로벌 ['자동 인덱스']+

을 눌러 섹션을 인쇄할 수도 있습니다 < /p>

}//Loop? Col

if ($ colgt; 1)

{

$i? +=? $col? -응? 1; < /p>

$likeType? . =? "lt; /dlgt; \ r \ n "; < /p>

}

}//Loop? For? $ I

reset ($ dsql2);

$ dsql-gt; Freeresult ();

복귀? $ liketype; < /p>

}

function? Lib_channel_son($ctag, $typeid? =? 0, $dsql2)

{

$attlist? =? "row|100, col|1, current style |";

fillattsdefault ($ ctag-gt; CAttribute-gt;; Items, $ attlist);

extract ($ ctag-gt; CAttribute-gt;; Items,? Extr _ skip); < /p>

$innertext? =? $ ctag-gt; Getinnertext (); < /p>

$dsql3? =? 클론? $ dsql2; < /p>

$likeType? =? ';

//if ($ _ sys _ globals ['typeid'] gt; 0)? $typeid? =? $ _ sys _ globals ['typeid']; < /p>

if($typeid==0)? {

복귀? '; < /p>

}

$sql? =? "선택? Id, typename, typedir, isdefault, ispart, defaultname, namerule2, moresite, siteurl, sitepath, default Dede_arctype? 어, 어? Reid='$typeid'? And? Ishiddenlt;; Gt; 1? 주문? 비? Sortrank? Asc? 리미트? 0, $ row "; < /p>

//And? Idlt;; Gt; $typeid'

$dtp2? =? 새? Dedetagparse ();

$ dtp2-gt; SetNameSpace("field ","[","] ");

$ dtp2-gt; Loadsource ($ innertext);

$ dsql2-gt; SetQuery($sql););

$ dsql2-gt; Execute ();

$ 라인? =? $ row;

for ($ I = 0; $i? Lt; -응? $ line; $ I++)

{

if ($ colgt; 1)? $likeType? . =? "lt; Dlgt;; \ r \ n ";

for ($ j = 0; $ jlt; $ col; $ j++)

{

if ($ colgt; 1)? $likeType? . =? "lt; Ddgt;; \ r \ n ";

if ($ row = $ dsql2-gt; Getarray ())

{

$ row ['유형 링크']? =? $ row ['유형 URL']? =? GetOneTypeUrlA($row);); < /p>

If (is _ array ($ dtp2-gt; Ctags))

{

foreach ($ dtp2-gt; CTags? As? $ tagid = gt; $ ctag) {

if (isset ($ row [$ ctag-gt; Getname ()]))

{

$ dtp2-gt; Assign($tagid, $ row [$ ctag-gt; GetName()]);]); < /p>

}

elseif? (preg _ match ('/son channel [0-9] * $/',$ ctag-gt; Getname ()))

{

$ dtp2-gt; Assign($tagid, lib_channel_son($ctag, $row['id'], $ dsql3));

}

}

}

$ liketype? . =? $ dtp2-gt; Getresult ();

}

if ($ colgt; 1)? $likeType? . =? "lt; /ddgt; \ r \ n "; < /p>

}//Loop? Col

if ($ colgt; 1)

{

$i? +=? $col? -응? 1; < /p>

$likeType? . =? "lt; /dlgt; \ r \ n "; < /p>

}

}//Loop? For? $ I

reset ($ dsql3);

$ dsql2-gt; Freeresult ();

복귀? $ liketype;

} gt; < /p>

템플릿에서 인스턴스 호출: {dede: channel? Type='son'? Typeid =' 3'} [field: typename/]

lt; Ulgt;;

[field: son channel 0]

lt; Ligt;; Lt; A? Href = "[field: typelink/]" gt; [field: typename/] lt; /AGT; Lt; /ligt; [field: son channel1]

lt; Ligt;; Lt; A? Href = "[field: typelink/]" gt; -[field: typename/] lt; /AGT; Lt; /ligt; [field: son channel 2]

lt; Ligt;; Lt; A? Href = "[field: typelink/]" gt; = = = = [field: typename/] lt; /AGT; Lt; /ligt;

[field: son channel 3]

lt; Ligt;; Lt; A? Href = "[field: typelink/]" gt; = = = = [field: typename/] lt; /AGT; Lt; /ligt; [/field: son channel 3] [/field: son channel 2] [/field: son channel 1]

[/field /ulgt; {/dede: channel}