꿈 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}