怎么让dedecms搜索页面支持标签调用及自定义字段调用

怎么让dedecms搜索页面支持标签调用及自定义字段调用,第1张

一般是这样的代码:

<div class="dede_pages">

<ul class="pagelist">

{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}

</ul>

</div>

你可以在相应的css文件中,默认是:模版文件夹/default/style/pagecss

对应修改一下就可以了。

滑动效果是:dede_pages ul li a:hover

就是链接:a的hover事件。

织梦网站的建站的一般步骤,用自己的话简要说明下

1、要有虚拟主机、mysql数据库和域名

2、上传dedecms程序到虚拟主机根目录,安装dedecms,安装过程中需要填写数据库账户、密码等信息。

3、安装dedecms后,就需要调试dedecms模板了。

织梦cms如何建站

织梦站总结篇,小编将会把整个仿站的思路进行理清并讲解:

1服务器准备

如果是学习测试,小编建议:使用本地软件模拟即可。下载phpstudy在本地搭建环境,模拟服务器环境,需要修改步骤:

1找到phpstudy下相应的WWW下的网站目录文件设置

2打开apache和MySQL(可以设置相应的版本)

3数据库的密码账号设计,即可打开网站

2准备采集器

下载需要模仿的网站的资料(css\js\img\html等),放在设置的WWW下的文件里

3织梦标签生成器

下载一个织梦标签生成器,也可以使用在线版

4准备一个网页html编辑器

进行网页代码的修改,修改的部分也是比较少的,最主要的是嵌入织梦的后台调用数据代码

5到织梦官网下载一个基础后台

6安装织梦模板,安装地址:www域名/install

7修改相关的模板文件页面,类似于:\\list_等网页

最后修改完成,记得生成;注意文件的备份

用dedecms仿站,详细的步骤有哪些?

1、找到目标网站,分析一下结构

2、用工具将需要仿的页面down下来,包括html文件和和css以及js文件等等

3、用dreamweaver编辑html文件,将织梦模板特有的标签套用进去

4、标签都替换好之后,将其替换到织梦的模板文件中

5、模板都做好之后,后台生成下静态文件,就ok了。

首页调用{dede:arclist typeid='xx' row='调用条数'channelid='文章模型id'addfields='自定义字段名' } [field:自定义字段/]{/dede:arclist}列表调用自定义字段:必须使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)勾上他{dede:listpagesize='调用条数'channelid='文章模型id' addfields='自定义字段名'} [field:自定义字段/]{/dede:list}

dede:type typeid='10的意思是:{dede:type} 这个是指定栏目的调用, typeid=10是栏目ID [field:typelink/]栏目链接,10代表的是第10个栏目。

dede的type标签的作用是:表示指定的单个栏目的链接。适用范围:封面模板、列表模板、文档模板。语法 {dede:type typeid=''}{/dede:type},属性 typeid='栏目ID,底层模板变量typename,typelink(仅表示栏目的网址)。

扩展资料:

DedeCMS的模版引擎简单、易用,采用了XML标记风格,只要懂HTML就可以修改制作模板。 很多的用户都为每次网站改版费尽苦心,因为按照老式的网站制作流程,改版需要修改的不单单是一个界面,还要涉及到程序修改。最后成了一次改版,几乎等于网站重构。

DedeCMS就解决了这一系列的烦恼,只需要了解一些DedeCMS的模板标记,只要懂HTML,就能随意对模板文件进行修改,而且每次升级只需要更新模板文件即可,做到了程序和页面很大程度上的分离。

DedeCMS 的模板引擎采用了官方自行研发的Dede模板引擎,类XML结构的标签简单易懂,便于在网页编辑器中进行编辑。同时标签齐全,应用广泛,这为基于 DedeCMS建设开发的站点提供了一个良好的基础,只需要懂HTML就可以搭建您想要的站点,这也是DedeCMS风靡的一个重要因素。

-dedecms模版

织梦-织梦内容管理系统模板标签代码参考

耗谌菀持瓼IELD标签”,文章页用的最多的是field标签,但还有一些用的比较少的标签,往往有的时候却是需要它们,到这里引入我们今天的主题,如何获取相关文章,有的站长在考虑seo优化方面的时候就需要在文章下面加入相关文章链接,那么这个在DEDE里面要如何实现呢?别急,下面小编和大家一起学习一个新的标签,我们通过这个标签即可获取相关文章,这个标签叫likeart,likeart标签和我们前面讲的arclist也是有点类似的,因为它们都是获取文章列表,我们来看一下它是怎么个用法,只需要给它设置两个属性即可,一个是titlelen,是文章标签长度的意思,还有一个是row,是获取多少条的意思,这些都根据自己的需要来设置。下面小编来写一个完整的,大家可以参考下:1 {dede:likeart2 3 titlelen='24' row='10'}4 5 [field:title/]6 7 {/dede:likeart}在上述代码中,中间部分如果大家看了小编前面的教程想必都不会陌生的,是两个底层模板,底层模板小编讲的太多了,这里就不重复了,一个是文章URL,一个是文章标题。我们把代码保存到文章页模板(article_articlehtm)中适当位置,然后上传到您的php虚拟主机去测试,别忘了重新在后台生成下HTML哦,不然是看不到效果的,如果成功可以调取10篇相关文章,大家可以看下小编的测试效果图:DEDECMS仿站建站基础

一、修改文件:\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搜索页面支持标签调用及自定义字段调用

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情