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

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

織夢(mèng)dedecms5.7 無(wú)限級(jí)多級(jí)欄目菜單調(diào)用方法

2024-07-12 08:58:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
 以前在用到5.7無(wú)限級(jí)欄目列表菜單時(shí)下載了網(wǎng)上的資料都未成功,因此我參考網(wǎng)上及dedecms本身的channel.lib.php及cattree.lib.php制作了調(diào)用標(biāo)簽。
1、在include/taglib建立randomartlist.lib.php
   內(nèi)容如下:
  <?php
if(!defined('DEDEINC')) exit('Request Error!');

function lib_randomartlist(&$ctag, &$refObj)
{
    global $dsql;
    //屬性處理
     //topid 指定頂級(jí)樹(shù) id ,指定后,前一個(gè)屬性將無(wú)效
    $attlist="typeid|0,showall|,currentstyle|,cacheid|";
    FillAttsDefault($ctag->CAttribute->Items,$attlist);
    extract($ctag->CAttribute->Items, EXTR_SKIP);
    $revalue = '';
    //讀取固定的緩存塊
    $cacheid = trim($cacheid);
    if($cacheid !='') {
        $revalue = GetCacheBlock($cacheid);
        if($revalue != '') return $revalue;
    }
    //如果屬性里沒(méi)指定欄目id,從引用類里獲取欄目信息
    if(empty($typeid))
    {
        if( isset($refObj->TypeLink->TypeInfos['id']) )
        {
            $typeid = $refObj->TypeLink->TypeInfos['id'];
            $reid = $refObj->TypeLink->TypeInfos['reid'];
            $topid = $refObj->TypeLink->TypeInfos['topid'];
        }
        else {
          $typeid = 0;
      }
    }
    else
    {

        $row2 = $dsql->GetOne("SELECT reid,topid,channeltype,ispart FROM `dede_arctype` WHERE reid='$topid' ");
        if(!is_array($row2))
        {
            $typeid = $reid = $topid = $channeltype = $ispart = 0;
        } else {
            $reid = $row2['reid'];
            $channeltype = $row2['channeltype'];
            $ispart = $row2['ispart'];
            $typepid = $row2['id'];
        }
    }
    //調(diào)用Typeid
    if( !empty($topid) )
    {
        $topQuery = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='$topid' And ishidden<>1 order by sortrank asc";
    }
  $dsql->Execute('t', $topQuery);
  while($row = $dsql->GetArray('t'))
  {
      $row['typelink'] = GetOneTypeUrlA($row);
      //處理同級(jí)欄目中,當(dāng)前欄目的樣式
                if( $row['id']==$typeid  && $currentstyle!='' )
                {
                    $linkOkstr = $currentstyle;
                    $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr);
                    $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr);
                    $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);
                    $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
                    $revalue .= $linkOkstr;
                }
                else
                {
                  $revalue .= "    <li><a href='{$row['typelink']}'>{$row['typename']}</a></li>/n";
                }
    randomartlistSon($row['id'],$typeid,$currentstyle, $revalue);
  }
  if($cacheid !='') {
        WriteCacheBlock($cacheid, $revalue);
  }
    return $revalue;
}

function randomartlistSon($id,$typeid,$currentstyle,&$revalue)
{
    global $dsql;
    $query = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `dede_arctype` WHERE reid='{$id}' And ishidden<>1 order by sortrank asc";
    $dsql->Execute($id, $query);
    $thisv = '';
  while($row = $dsql->GetArray($id))
  {
      $row['typelink'] = GetOneTypeUrlA($row);
      //處理同級(jí)欄目中,當(dāng)前欄目的樣式
                if( $row['id']==$typeid  && $currentstyle!='' )
                {
                    $linkOkstr = $currentstyle;
                    $linkOkstr = str_replace("~rel~",$row['rel'],$linkOkstr);
                    $linkOkstr = str_replace("~id~",$row['id'],$linkOkstr);
                    $linkOkstr = str_replace("~typelink~",$row['typelink'],$linkOkstr);
                    $linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);
                    $thisv .= $linkOkstr;
                }
                else
                {
                  $thisv .= "    <li><a href='{$row['typelink']}'>{$row['typename']}</a></li>/n";
                }

    randomartlistSon($row['id'],$typeid,$currentstyle, $thisv);
  }
  if($thisv!='') $revalue .= "    <ul>/n$thisv    </ul>/n";
}

2、調(diào)用方式:
     <div class="alist">

          <ul>
              {dede:randomartlist topid='12' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a></li>"}
                 <li><a href="{dede:field name='typeurl'/}" title="{dede:field name='typename'/}">{dede:field name='typename'/}</a></li>
              {/dede:randomartlist}
            </ul>
      </div>
3、css方式:
      .alist{}
      /*第一層修飾*/
     .alist ul {}
     .alist ul li {}
     .alist ul li a{}
     .alist ul li a:hover,.alist ul li .thisclass{}
      /*第二層修飾*/
     .alist ul li ul{}
     .alist ul li ul li{}
     .alist ul li ul li a{}
     .alist ul li ul li a:hover,.alist ul li ul li  .thisclass{}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 铅山县| 岳池县| 吴旗县| 舞钢市| 汤阴县| 乌拉特后旗| 河池市| 长白| 容城县| 五原县| 乐都县| 广州市| 阿图什市| 阿尔山市| 舞钢市| 玛纳斯县| 宁武县| 洛隆县| 通州市| 老河口市| 民乐县| 昌黎县| 平潭县| 枣强县| 景东| 西昌市| 平顶山市| 泽库县| 通榆县| 山阴县| 云浮市| 井研县| 巴中市| 都江堰市| 松江区| 保定市| 呼和浩特市| 利川市| 商河县| 福建省| 梧州市|