求帮这段dedecms主页调用栏目页的代码改成可以显示3列,每列10行,一共可以调用30篇文章的代码?

求帮这段dedecms主页调用栏目页的代码改成可以显示3列,每列10行,一共可以调用30篇文章的代码?,第1张

1、首先用织梦后台新增了三个顶级栏目,稍后需要在用标签调用:

2、然后用编辑器打开网站首页模板“indexhtm”,将其他不必要代码删除,接下来开始顶级栏目调用:

3、织梦顶级栏目的调用方法需要用到“{dede:channel}”标签,其中row=“3”表示调用顶级栏目三条数据,type=“top”则表示调用的是顶级栏目:

4、代码添加好后,回到织梦的后台将主页生成一次,主页生成方法是点击生成按钮,然后点击更新主页html,最后点击更新主页html即可完成生成:

5、主页生成完成后,打开浏览器就可以看到首页的前端显示情况了,这里成功调用了之前的三个顶级栏目:

 

试试如下代码

 {dede:channelartlist typeid='3' } 

    <ul> 

      <li><a target="_blank" href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></li> 

        <ul> 

         {dede:sql sql='Select  from `dede_arctype` where reid=~id~ ORDER BY id'} 

        <li>·<a target="_blank" href="[field:typedir function="cn_substr(@me,200,9) " /]">[field:typename/]</a></li> 

        {/dede:sql}

        </ul>

    </ul> 

 {/dede:channelartlist}

需要重新架构,只根据您的样式ID写是无法写的。需要考虑到兼容性。

下面提供一段全新的符合您要求的代码和CSS,供您参考学习。

<div class="list">

     <ul class="tnews">

         <a class="title" title="公司新闻" href="/news/news/"><span class="t1">公司新闻</span><span class="t2">NEWS</span></a>

<li><a title="织梦DEDEcms文章散文模板" href="/news/news/18html"><span style="float:right; padding-left:2px;">01-07</span>织梦DEDEcms文章散文模板</a></li>

<li><a title="轻博客织梦博客模板/文章资讯模" href="/news/news/17html"><span style="float:right; padding-left:2px;">01-07</span>轻博客织梦博客模板/文章资讯模</a></li>

<li><a title="dede织梦商城模板(服装商城)" href="/news/news/16html"><span style="float:right; padding-left:2px;">01-07</span>dede织梦商城模板(服装商城)</a></li>

<li><a title="安防安防门的安装要求和使用说明" href="/news/news/7html"><span style="float:right; padding-left:2px;">07-25</span>安防安防门的安装要求和使用说明</a></li>

<li><a title="将相金属带您解析安防安防门的分" href="/news/news/6html"><span style="float:right; padding-left:2px;">07-25</span>将相金属带您解析安防安防门的分</a></li>

<li><a title="将相安防安防门一般在什么地方设" href="/news/news/5html"><span style="float:right; padding-left:2px;">07-25</span>将相安防安防门一般在什么地方设</a></li>

        </ul>

     <ul class="tnews">

         <a class="title" title="行业动态" href="/news/hot/"><span class="t1">行业动态</span><span class="t2">INFORMATION</span></a>

<li><a title="安防监控选购有章可循" href="/news/hot/27html"><span style="float:right; padding-left:2px;">01-07</span>安防监控选购有章可循</a></li>

<li><a title="人气明星职业妆容画法" href="/news/hot/20html"><span style="float:right; padding-left:2px;">01-07</span>人气明星职业妆容画法</a></li>

<li><a title="打造21世纪社会急需高端人才" href="/news/hot/19html"><span style="float:right; padding-left:2px;">01-07</span>打造21世纪社会急需高端人才</a></li>

<li><a title="安防安防门的样式还需提高" href="/news/hot/10html"><span style="float:right; padding-left:2px;">07-25</span>安防安防门的样式还需提高</a></li>

<li><a title="安防安防门的种类及安装位置介绍" href="/news/hot/9html"><span style="float:right; padding-left:2px;">07-25</span>安防安防门的种类及安装位置介绍</a></li>

<li><a title="安防门的产品种类和分类" href="/news/hot/8html"><span style="float:right; padding-left:2px;">07-25</span>安防门的产品种类和分类</a></li>

        </ul>

     <ul class="tnews">

         <a class="title" title="常见问题" href="/faq/"><span class="t1">常见问题</span><span class="t2">FAQ</span></a>

<li><a title="各类监控怎么洗涤才好?" href="/faq/2014/0107/26html"><span style="float:right; padding-left:2px;">01-07</span>各类监控怎么洗涤才好?</a></li>

<li><a title="安防监控的安装注意啥?" href="/faq/2014/0107/25html"><span style="float:right; padding-left:2px;">01-07</span>安防监控的安装注意啥?</a></li>

<li><a title="安防监控的风格怎么搭?" href="/faq/2014/0107/24html"><span style="float:right; padding-left:2px;">01-07</span>安防监控的风格怎么搭?</a></li>

<li><a title="监控清洗让爱家在焕然一新" href="/faq/2014/0107/23html"><span style="float:right; padding-left:2px;">01-07</span>监控清洗让爱家在焕然一新</a></li>

<li><a title="合肥中科大先进技术研究院综合主" href="/faq/2014/0107/22html"><span style="float:right; padding-left:2px;">01-07</span>合肥中科大先进技术研究院综合主</a></li>

<li><a title="政府采购中心“监控”招标公告" href="/faq/2014/0107/21html"><span style="float:right; padding-left:2px;">01-07</span>政府采购中心“监控”招标公告</a></li>

        </ul>

    </div>/common tail css/

list{ width:1100px;margin:0 auto;}

list ul{ float:left; width:275px; height:282px; display:block; color:#7B7474;}

list ul title{ width:250px; height: 33px; display:block; background-color:#D0D0D0; margin:32px 0 5px; color:#666666}

list ul title:hover{ text-decoration:none; background-color:#54C0F0; color:#FFF;}

list ul title t1{ line-height:32px; font-size:14px; font-weight:bold; padding-left:10px;}

list ul title t2{ line-height:28px; font-size:10px; font-weight:bold; padding:4px 0 0 5px;}

list ul li{ width:245px; height:30px; display:block; line-height:30px; padding-left:5px; font-size:13px; overflow:hidden}

{dede:channel type='son' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}

 <li><a href='[field:typelink/]'>[field:typename/]</a> </li>

{/dede:channel}

参数说明:

typeid = '0' 栏目ID

reid = '0' 上级栏目ID

row = '100' 调用栏目数

type = 'son' son表示下级栏目,self表示同级栏目,top顶级栏目

currentstyle = '' 应用样式

主要是靠你的css来实现,这个是可以嵌套调用的,调用顶级栏目,里面嵌套调用子栏目,不过要实现你鼠标指到顶级栏目,显示出你的子栏目,这个是靠你的css了

{dede:channelartlist typeid='top'}

<;a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a>

{dede:channel type='son' noself='yes'}

<a href="[field:typelink/]">[field:typename/]</a>

{/dede:channel}

{/dede:channelartlist}

这是调用顶级栏目和子栏目,不过这只有调用代码,你放到你的代码里对应位置就好了!

dedecms 网站调用导航栏目和下拉菜单的方法如下:

织梦开源程序(dedecms)是一个很不错的开源程序,功能十分的强大,只是默认的模板就有很不错的用户体验效果。而还有很多的不完美的地方,就需要我们自己去做一下修改,譬如默认导航条上面没有下拉列表的功能,今天我就来帮助大家解决一下怎样制作织梦导航下拉列表。

其实这个导航条上面显示下拉列表还是蛮简单的,即使你不懂代码知识也是可以操作的,下面跟着步骤走,就能很轻松的实现啦。

首先我们将将下面这段红色的代码贴到"网站根目录\templets\default\"的"footerhtm"文件里里面,一般来说把这段代码放在最下面就行了。

<!-- //放于底部即可-->

<script type='text/javascript' src='{dede:globalcfg_cmsurl/}/images/js/dropdownjs'></script>

{dede:channelartlist typeid='top' cacheid='channelsonlist'}<ul id="dropmenu{dede:fieldtypeid/}" class="dropMenu">

{dede:channel type='son' noself='yes'} <li><a href="[field:typelink/]">[field:typename/]</a></li>

{/dede:channel}

</ul>

{/dede:channelartlist}

<script type="text/javascript">cssdropdownstartchrome("navMenu")</script>

接着我们重新生成网站首页,再打开首页刷新一下就会发现你的网站导航栏已经出现下拉菜单了,只是背景还是透明的,原因是没有背景。这时候我们只需要再加一张我们喜欢的背景就好看多了。

可是头疼的是,这个下拉菜单是透明的!咋么办??

加背景的办法

我们把织梦DedeCMS程序文件夹\dede\img里的mmenubggif(绿色背景,适用于绿色主题模板)或者DedeCMS程 序文件夹\templets\images里的mmenubggif(蓝色背景,适用于蓝色主题模板)复制到DedeCMS程序文件夹 /templets/default/images下面,现在你再看一下效果,导航栏是不是已经出现熟悉的下拉菜单了。

如果还想有更好的效果展示的话,我们就需要去手工修改/templets/default/style/dedecmscss里面的文件了,不过这得需要一点css知识哦~

修改css的话,我们可以在里面使用"ctrl+f"寻找 dropMenu 进行修改即可。

一、修改文件:\include\taglib目录下的channellibphp,请将以下代码全部复制替换上述文件

<php

function lib_channel(&$ctag,&$refObj)

{

    global $_sys_globals,$envs,$dsql;

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

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = $ctag->GetInnerText();

        $cacheid = trim($cacheid);

    if($cacheid !='') {

        $likeType = GetCacheBlock($cacheid);

        if($likeType != '') return $likeType;

    }

    $reid = 0;

    $topid = 0;

    if(empty($typeid) && $envs['typeid']!=0)

    {

        $typeid = $envs['typeid'];

        $reid = $envs['reid'];

    }else{

        $reid=0;

    }

    if($type==''||$type=='sun') $type="son";

    if($innertext=='') $innertext = GetSysTemplets("channel_listhtm");

    if($reid==0 && $typeid>0)

    {

        $dbrow = $dsql->GetOne("Select reid From dede_arctype where id='$typeid' ");

        if(is_array($dbrow)) $reid = $dbrow['reid'];

    }

    $likeType = '';

    if($type=='top')

    {

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    else if($type=="son")

    {

        //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];

        if($typeid==0) {

            return '';

        }

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    else if($type=="self")

    {

        if($reid==0) {

            return '';

        }

        $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

            From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";

    }

    //And id<>'$typeid'

    $needRel = false;

    $dtp2 = new DedeTagParse();

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

    $dtp2->LoadSource($innertext);

    $dsql2 = clone $dsql;

    $dsql->SetQuery($sql);

    $dsql->Execute();

    $line = $row;

        //检查是否有子栏目,并返回rel提示(用于二级菜单)

    if(ereg(':rel', $innertext)) $needRel = true;

   

    if(empty($sql)) return '';

    $dsql->SetQuery($sql);

    $dsql->Execute();

   

    $totalRow = $dsql->GetTotalRow();

    $GLOBALS['autoindex'] = 0;

    for($i=0;$i < $line;$i++)

    {

        if($col>1) $likeType = "<dl>\r\n";

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

        {

            if($col>1) $likeType = "<dd>\r\n";

            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']}'";

                }

                //处理同级栏目中,当前栏目的样式

                if( ($row['id']==$typeid || ($topid==$row['id'] && $type=='top') ) && $currentstyle!='' )

                {

                    if($currentstyle!='')

                    {

                    $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;

                    }

                }else

                {

                    $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

                    if(is_array($dtp2->CTags))

                    {

                        foreach($dtp2->CTags as $tagid=>$ctag){

                            if(isset($row[$ctag->GetName()]))

                            {

                                $dtp2->Assign($tagid,$row[$ctag->GetName()]);

                            }

                            elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))

                            {

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

                            }

                        }

                    }

                    $likeType = $dtp2->GetResult();

                }

            }

            if($col>1) $likeType = "</dd>\r\n";

            $GLOBALS['autoindex']++;

        }//Loop Col

        if($col>1)

        {

            $i += $col - 1;

            $likeType = "    </dl>\r\n";

        }

    }//Loop for $i

    reset($dsql2);

    $dsql->FreeResult();

    return $likeType;

}

function lib_channel_son($ctag,$typeid = 0,$dsql2)

{

    $attlist = "row|100,col|1,currentstyle|";

    FillAttsDefault($ctag->CAttribute->Items,$attlist);

    extract($ctag->CAttribute->Items, EXTR_SKIP);

    $innertext = $ctag->GetInnerText();

    $dsql3 = clone $dsql2;

    $likeType = '';

    //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid'];

    if($typeid==0) {

        return '';

    }

    $sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description

          From dede_arctype where reid='$typeid' And ishidden<>1 order by sortrank asc limit 0,$row";

    //And id<>'$typeid'

    $dtp2 = new DedeTagParse();

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

    $dtp2->LoadSource($innertext);

    $dsql2->SetQuery($sql);

    $dsql2->Execute();

    $line = $row;

    for($i=0;$i < $line;$i++)

    {

        if($col>1) $likeType = "<dl>\r\n";

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

        {

            if($col>1) $likeType = "<dd>\r\n";

            if($row=$dsql2->GetArray())

            {

                $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row);

                if(is_array($dtp2->CTags))

                {

                    foreach($dtp2->CTags as $tagid=>$ctag){

                        if(isset($row[$ctag->GetName()]))

                        {

                            $dtp2->Assign($tagid,$row[$ctag->GetName()]);

                        }

                        elseif (preg_match('/^sonchannel[0-9]$/',$ctag->GetName()))

                        {

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

                        }

                    }

                }

                $likeType = $dtp2->GetResult();

            }

            if($col>1) $likeType = "</dd>\r\n";

        }//Loop Col

        if($col>1)

        {

            $i += $col - 1;

            $likeType = "    </dl>\r\n";

        }

    }//Loop for $i

    reset($dsql3);

    $dsql2->FreeResult();

    return $likeType;

}

>

二、在模板调用

实例:

{dede:channel type='son' typeid='改成你的大栏目ID'}

              [field:typename/]

                    <ul>

                    [field:sonchannel0]

                    <li><a href="[field:typelink/]">[field:typename/]</a></li>

                         [field:sonchannel1]

                        <li><a href="[field:typelink/]">---[field:typename/]</a></li>

                             [field:sonchannel2]

                            <li><a href="[field:typelink/]">===[field:typename/]</a></li>

                                [field:sonchannel3]

                                <li><a href="[field:typelink/]">===[field:typename/]</a></li>

                                 [/field:sonchannel3]

                             [/field:sonchannel2]

                         [/field:sonchannel1]

                    [/field:sonchannel0]

                    </ul>

 {/dede:channel}

模板调用    [field:sonchannel0] [/field:sonchannel0] 这个是用来取子栏目用的(使用[sonchannel+数字] 作为标签名是为了防止嵌套的时候无法正确解析标签)

这个的作用就是当你的栏目有很多子栏目 无限分级的时候方便你取子栏目的。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 求帮这段dedecms主页调用栏目页的代码改成可以显示3列,每列10行,一共可以调用30篇文章的代码?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情