DedeEIMS企业版制作下拉菜单的方法

第一步:在网站的底部加js,控制下拉菜单

<script type=’text/javascript’ src=’{dede:global.cfg_cmsurl/}/p_w_picpaths/js/dropdown.js’></script>
{dede:channelartlist typeid=’44′ cacheid=’channelsonlist’}
     <ul id=”dropmenu{dede:field.typeid/}”>
     {dede:channel type=’son’ noself=’yes’} 
         <li><a href=”[field:typelink/]“>[field:typename/]</a></li>
     {/dede:channel}
 </ul>
{/dede:channelartlist}
<script type=”text/javascript”>cssdropdown.startchrome(“navMenu”)</script>

第二步:修改模板文件

根目录下面images文件夹下面的images/js/dropdown.js文件拷到企业版相应目录下面

修改channel标签如果你怕修改错最好先备份原文件;/include/taglib/channel.lib.php

找到”//如果用子栏目模式,当没有子栏目时显示同级栏目”在此行的前面加上” if(ereg(‘:rel’, $innertext)) $needRel = true;”加完后就如下面这种情况

  if(ereg(‘:rel’, $innertext)) $needRel = true;
  //如果用子栏目模式,当没有子栏目时显示同级栏目

将”//如果用子栏目模式,当没有子栏目时显示同级栏目”这个功能模块屏蔽掉每行的前面加上//

如果用子栏目模式,当没有子栏目时显示同级栏目

 //$totalRow = $dsql->GetTotalRow();
 //if($type==’son’ && $reid!=0 && $totalRow==0)
  //{
    //    $sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2
        //From `#@__arctype` where reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0,$row”;
        //$dsql->SetQuery($sql);
        //$dsql->Execute();
  //}
 //echo $line.’ – ‘.$col.’ – ‘.$type.’|’.$totalRow.’;';

同样在此功能后面加上一句:

$topid=$reid;

这样此功能段就变成了:

if(ereg(‘:rel’, $innertext)) $needRel = true;
    
    //如果用子栏目模式,当没有子栏目时显示同级栏目
    //$totalRow = $dsql->GetTotalRow();
    //if($type==’son’ && $reid!=0 && $totalRow==0)
    //{
    //    $sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2
        //    From `#@__arctype` where reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0,$row”;
        //$dsql->SetQuery($sql);
        //$dsql->Execute();
    //}
    
    //echo $line.’ – ‘.$col.’ – ‘.$type.’|’.$totalRow.’;';
          $topid=$reid;

找到如下关键字位置改成如下

if($row=$dsql->GetArray())
 {
      $row['sonids'] = $row['rel'] = ”;
      if($needRel)
       {
           $row['sonids'] = GetSonIds($row['id'], 0, false);
           if($row['sonids']==”) $row['rel'] = ”;
            else $row['rel'] = ” rel=’dropmenu{$row['id']}’”;
        } 
   }
   
   //增加一个根据REID得到是否需要进行更新为当前项目
    if(  $currentstyle!=” &&($row['id']==$typeid || ($topid==$row['id'] && $type==’top’)||$reid==$typeid ))
      {
           $linkOkstr = $currentstyle;
           $row['typelink'] = GetOneTypeUrlA($row);
           $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);
           $likeType .= $linkOkstr;
    }

此文如果触及到DEDECMS5的版权问题,请DEDECMS公司删除

我将我的CHANNEL.LIB.PHP放出来,我的改名了的,你们下下来后可以直接调用,不过将调用标签换成下面的就行了


本文永久地址:http://www.huanghaiping.com/article/25.html
本文出自 黄海平博客 ,转载时请注明出处及相应链接。

发表我的评论
  

网友最新评论 (0)

暂无评论
返回顶部