dedecms 为什么无法执行正常的mysql函数?

dedecms 为什么无法执行正常的mysql函数?,第1张

首先先吧(FALSE);去掉

然后查询语句改下

$mystr = $dsql->GetOne( "select "$zhiduan" from dede_“$table“ where aid='”$aid );

这样试试看看可以查到不

一、修改文件:\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+数字] 作为标签名是为了防止嵌套的时候无法正确解析标签)

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

系统会自动载入 dedesqlclassphp 文件,并用

$dsql = $db = new DedeSql(false);

进行初始化数据库连接,因此在工程所有文件中均不需要单独初始化这个类,可直接用 $dsql 或 $db 进行操作,为了防止错误,操作完后不必关闭数据库。

参考:dedecms 使用手册。数据库类 。

1、标签名称:adminname

功能说明:

获得责任编辑名称

使用实例:

{dede:adminname /}

2、标签名称:arclist

功能说明:

文章列表调用标记

使用实例:

{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen=''

imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclist}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

titlelen = '30' 标题长度 等同于titlelength

infolen='160' 表示内容简介长度 等同于infolength

imgwidth='120' 缩略图宽度

imgheight='90' 缩略图高度

listtype='all' 栏目类型(顶级栏目??)

orderby='sortrank' 文档排序方式

§ orderby='hot' 或 orderby='click' 表示按点击数排列

§ orderby='sortrank' 或 orderby='pubdate' 按出版时间排列

§ orderby='near'

§ orderby=='lastpost' 按最后评论时间

§ orderby=='scores' 按得分排序

§ orderby='id' 按文章ID排序

§ orderby='rand' 随机获得指定条件的文档列表

keyword='' 含有指定关键字的文档列表,多个关键字用","分

innertext = '' 单条记录样式

aid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid 频道ID

limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗

noflag = '' 同flag,但这里是表示不包含这些属性

orderway='desc' 值为 desc 或 asc ,指定排序方式是降序还是顺向排序,默认为降序

subday='天数' 表示在多少天以内的文档

3、标签名称:arclistsg

功能说明:

单表模型的文章列表调用标记

使用实例:

{dede:arclistsg flag='h' typeid='' row='' col='' titlelen='' orderway='' keyword='' limit='0,1'}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:arclistsg}

参数说明:

col='' 分多少列显示(默认为单列),53版中本属性无效,要多列显示的可用div+css实现

row='10' 返回文档列表总数

typeid='' 栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;

titlelen = '30' 标题长度 等同于titlelength

orderwey='desc'或'asc' 排序方向

keyword= 含有指定关键字的文档列表,多个关键字用","分

innertext = "[field:title/]" 单条记录样式(innertext是放在标签之间的代码)

arcid='' 指定文档ID

idlist ='' 提取特定文档(文档ID)

channelid = '' 频道ID

limit='' 起始,结束 表示限定的记录范围(如:limit='1,2')

flag = 'h' 自定义属性值:头条[h]推荐[c][p]幻灯[f]滚动[s]跳转[j]图文[a]加粗

subday='天数' 表示在多少天以内的文档

4、标签名称:autochannel

功能说明:

按排序位置的获取单个栏目的链接信息

使用实例:

{dede:autochannel partsort='' typeid=''}{/dede:autochannel}

参数说明:

partsort = '0' 栏目所在的排序位置

typeid = '0' 指定的父栏目

5、标签名称:channel

功能说明:

获取栏目列表标签

使用实例:

{dede:channel type='top' 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' 调用栏目数

col = '1' 分多少列显示(默认为单列)

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

currentstyle = '' 应用样式

6、标签名称:channelartlist

功能说明:

获取当前频道的下级栏目的内容列表标签

使用实例:

{dede:channelartlist row=6}

<dl>

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

<dd>

{dede:arclist titlelen='42' row='10'} <ul class='autod'>

<li><a href="[field:arcurl /]">[field:title /]</a></li>

<li>([field:pubdate function="MyDate('m-d',@me)"/])</li>

</ul>

{/dede:arclist}

</dl>

{/dede:channelartlist}

参数说明:

typeid = '0' 频道ID,多个请用","分隔

row = '20' 获取的栏目返回值

其他说明:

除了宏标记外,channelArtlist 是唯一一个可以直接嵌套其它标记的标记,不过仅限于嵌套

{dede:type}{/dede:type} 和 {dede:arclist}{/dede:arclist} 两个标记。

7、标签名称:demotag

功能说明:

这仅是一个演示标签

使用实例:

{dede:demotag /}

8、标签名称:feedback

功能说明:

调用最新评论

使用实例:

{dede:feedback}

<ul>

<li class='fbtitle'>[field:username function="(@me=='guest' '游客' : @me)"/] 对 [field:title/] 的评论:</li>

<li class='fbmsg'> <a href="plus/feedbackphpaid=[field:aid/]" class='fbmsg'>[field:msg /]</a></li>

</ul>

{/dede:feedback}

参数说明:

row='12' 调用评论条数

titlelen='24' 标题长度

infolen='100' 评论长度

9、标签名称:flink

功能说明:

友情链接

使用实例:

{dede:flink row='24'/}

参数说明:

type='image' 或textall,链接,text文字链接;

row='24' 链接数量

titlelen='24' 站点文字的长度

linktype='1' 链接位置(首页,内页)

typeid='0' 所有类型

10、标签名称:hotwords

功能说明:

获取网站搜索的热门关键字

使用实例:

{dede:hotwords /}

参数说明:

num='6' 关键词数目

subday='365' 天数

maxlength='16' 关键词最大长度11、标签名称:infoguide

功能说明:

分类信息的地区与小分类搜索

使用实例:

{dede:infoguide /}

12、标签名称:likepage

功能说明:

单页文档相同标识调用标签

使用实例:

{dede:likepage likeid='' row=''/}

参数说明:

row = '' 调用条数

likeid = '' 标识名

13、标签名称:likesgpage

功能说明:

单页文档调用标签

使用实例:

{dede:likespage row=''/}

参数说明:

row = '' 调用条数

14、标签名称:loop

功能说明:

调用任意表的数据标签

使用实例:

{dede:loop table='dede_archives' sort='' row='4' if=''}

<a href='[field:arcurl/]'>[field:title/]</a>

{/dede:loop}

参数说明:

table = '' 查询表名

sort = '' 用于排序的字段

row = '' 返回结果的条数

if = '' 查询的条件

15、标签名称:memberinfos

功能说明:

文档关连的用户信息

使用实例:

{dede:memberinfos /}

参数说明:

无属性,支持 innertext

16、标签名称:memberlist

功能说明:

会员信息调用标签

使用实例:

{dede:memberlist orderby='scores' row='20'}

<a href="/member/indexphpuid={dede:fielduserid /}">{dede:fielduserid /}</a>

<span>{dede:fieldscores /}</span>

{/dede:memberlist}

参数说明:

orderby = 'scores' 按积分排序

row = '6' 调用数目

17、标签名称:myad

功能说明:

广告调用

使用实例:

{dede:myad name=''/}

参数说明:

typeid='0' 投放范围,0为全站

name='' 广告标识

18、标签名称:mynews

功能说明:

站内新闻调用标签

使用实例:

{dede:mynews row='' titlelen=''/}

参数说明:

row='1' 调用站内新闻数

titlelen='24' 新闻标题长度

19、标签名称:mytag

功能说明:

自定义宏标记调用标签

使用实例:

{dede:mytag typeid='0' name=''/}

参数说明:

typeid = '0' 栏目ID 0为全站栏目

name = '' 标记名

20、标签名称:softmsg

功能说明:

下载说明标签

使用实例:

{dede:softmsg /}

21、标签名称:sonchannel

功能说明:

子栏目调用标签

使用实例:

{dede:sonchannel}

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

{/dede:sonchannel}

参数说明:

row ='100' 返回数目

col = '1' 默认单列显示

22、标签名称:sql

功能说明:

SQL标签

使用实例:

{dede:sql sql=''}

[field:title/]

{/dede}

参数说明:

sql='' 完整的SQL语句

23、标签名称:tag

功能说明:

TAG调用标签

使用实例:

{dede:tag row='30' sort='new'/}

参数说明:

row='30' 调用条数

sort='new' 排序方式 month,rand,week

24、标签名称:type

功能说明:

指定的单个栏目的链接标签

使用实例:

{dede:type}

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

{/dede:type}

参数说明:

typeid='' 指定栏目ID

25、标签名称:vote

功能说明:

投票标签

使用实例:

{dede:vote id='' lineheight='22' tablewidth='100%' titlebgcolor='#EDEDE2' titlebackground='' tablebgcolor='#FFFFFF'/}

参数说明:

id='' 数字,当前投票ID

lineheight='24' 表格高度

tablewidth='100%' 表格宽度

titlebgcolor='#EDEDE2' 投票标题背景色

titlebackground=''

tablebg ='' 投票表格背景色

为了更方便修改样式,建议在后台->辅助插件->投票管理,直接复制生成的HTML代码来使用 《 幻为您专业解答》

方法/步骤

1、网站标题seo优化技巧:

列表页标题优化技巧:把列表文件中的<title></title>改为栏目名称-seo标题-网站名称即<title>{dede:fieldtitle/}-{dede:fieldseotitle

/}-{dede:globalcfg_webname/}</title>

2、内容页标题优化技巧:把内容页文件中的<title></title>改为文章标题-网站名称<title>{dede:fieldtitle/}-{dede:globalcfg_webname/}</title>

3、网站url路径的优化技巧:dede默认的路径名称是栏目的拼音,然而栏目下的文章内容的默认url路径是栏目路径/年/月日/文章id的形式,文章的路径默认就增加了(年/月日/)2层目录,不利于搜索引擎的抓取,应该让网址规范化改为栏目路径/文章idhtml。

具体操作方法如下:在栏目修改哪里的高级选项里有个文章命名规则:默认是这样的{typedir}/{Y}/{M}{D}/{aid}html,把它改成{typedir}/{aid}html或者你把内容都放在一个文件夹里

a/{aid}html这样的话路径就比较规范化了,有利于搜索引擎的抓取。

4、做一个404页面:在主机控制面板开启404功能,然后做一个404文件并上传404htm页面并放入到根目录下

5、做好robots文件并上传网站根目录,文件内容:模板里的,css等不需要蜘蛛爬行,upload里的附件不需要蜘蛛爬行,具体格式:

6、js广告的优化:网站通用的js可以保存到一个文件比如把常用的函数保存到commonjs里,尽量不用dede默认的广告插件,我发现那个广告插件不如直接自己写js速度快。另外如果网站头部有js广告的话,打开的时候可能影响速度,解决方法:可以用一个层,把js放到底部,然后用css绝对定位到头部你需要的位置这样就不影响速度了。另外给大家提醒下,广告文件名和文件目录最好别用ad

ads

guanggao之类的名称,因为如果用这类名称会导致遨游浏览器屏蔽你的广告,虽说遨游用户不多,但是细节问题也要注意啊。

7、织梦dedecms网站seo优化技巧一般就这几项,做好这些会提高网站的收录量,优化知识到此结束,希望可以帮助大家。

dede57伪静态设置七步法:

第一步、后台-系统参数-核心设置-是否使用伪静态:选择“是”;

注:你的网站空间是否支持伪静态,你可以与空间的IDC商联系一下,如果是自己的服务器,那就更好办了,自己动手,丰衣足食。一般来说,空间都是支持伪静态的。Apache服务器伪静态相对简单,直接在htaccess文件中加入相应伪静态规则即可;而IIS服务器伪静态的实现,则需要加载Rewrite组件,然后配置httpdini文件。

第二步、如果你的网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具中执行如下语句:

将所有文档设置为“仅动态浏览”:

update dede_archives set ismake=-1

将所有栏目设置为“使用动态页”:

update dede_arctype set isdefault=-1

第三步、列表页、文章页伪静态修改

打开/include/helpers/channelunithelperphp。

(1)查找:

//动态文章

if($cfg_rewrite == 'Y')

{

return $GLOBALS["cfg_plus_dir"]"/view-"$aid'-1html';

}

替换为

//动态文章

if($cfg_rewrite == 'Y')

{

return "/DedeCMS/DedeCMS57-"$aid'-1html';

}

意思是:将默认的/plus/view-1-1html文章链接格式改为/DedeCMS/DedeCMS57-1-1html。

(2) 查找:

//动态

$reurl = $GLOBALS['cfg_phpurl']"/listphptid="$typeid;

替换为

//动态

$reurl = "/category/list-"$typeid"html";

意思是:将默认的频道或是列表页URL/plus//listphptid=1变更为/dedecms/list-1html形式。

第四步、列表分页伪静态修改

打开/include/arclistviewclassphp

查找:

$plist = str_replace('phptid=', '-', $plist);

替换为

$plist = str_replace('plus/listphptid=', ‘DedeCMS/DedeCMS57-', $plist);

将默认的plus/listphptid=替换成RMB/list-;

意思是:将默认的列表分页链接格式plus/listphptid=x$x$xl修改为DedeCMS/DedeCMS57-x-x-xhtml。

第五步、文章分页伪静态

打开/include/arcarchivesclassphp,找到获取动态的分页列表GetPagebreakDM()函数末尾处:

查找:

$PageList = str_replace("plus/viewphptid=","DedeCMS/DedeCMS57-",$PageList);

替换为

$plist = str_replace('plus/viewphptid=', ’DedeCMS/DedeCMS57-', $plist);

将默认的plus/viewphptid=替换成RMB/huilv-;

意思是:将默认的文章分页链接格式plus/viewphptid=x$x$xl修改为DedeCMS/DedeCMS57-x-x-xhtml

第六步、TAG标签伪静态

DedeCms默认的TAG标签URL,形如/tagsphp/dedecms模板 /,是不是觉得有个问号不怎么爽,我们改成/tags/dedecms模板 /,是不是好看多了。

下面我们来改一下,打开/include/taglib/taglibphp:

查找:

$row['link'] = $cfg_cmsurl"/tagsphp/"urlencode($row['keyword'])"/";

替换为

$row['link'] = $cfg_cmsurl"/tags/"urlencode($row['keyword'])"/";

这样就修改好了,上传你到你的网站,切记:要记得将原网站备份哦!!

第七步、httpdini伪静态规则:

[ISAPI_Rewrite]

# 3600 = 1 hour

CacheClockRate 3600

RepeatLimit 32

RewriteRule ^()/RMB/list-([0-9]+)\html $1/plus/list\php\tid=$2 [I]

RewriteRule ^()/RMB/list-([0-9]+)-([0-9]+)-([0-9]+)\html $1/plus/list\php\tid=$2&TotalResult=$3&PageNo=$4 [I]

RewriteRule ^()/RMB/huilv-([0-9]+)-([0-9]+)\html $1/plus/view\php\arcID=$2&pageno=$3 [I]

RewriteRule ^()/()_()_([0-9]+)\html $1/huilv/from=$2&to=$3&num=$4 [I]

RewriteRule ^()/tags\html $1/tags\php [I]

RewriteRule ^()/tags/()(:(\)) $1/tags\php\\/$2 [I]

RewriteRule ^()/tags/()\/(:(\)) $1/tags\php\\/$2\/ [I]

RewriteRule ^()/tags/()\/([0-9])(:(\)) $1/tags\php\\/$2\/$3 [I]

RewriteRule ^()/tags/()\/([0-9])\/(:(\)) $1/tags\php\\/$2\/$3\/ [I]

将上面代码保存为:httpdini 上传到网站的根目录。

如无特特殊需求建议采用官方默认的生成静态的页面方式浏览。

◆DedeCms模板安装/制作概述:

  DedeCms系统的模板是非固定的,用户可以在新建栏目时可以自行选择栏目模板,官方仅提供最基本的默认模板,即是内置系统模型的各个模板,由于DedeCms支持自定义频道模型,用户自定义新频道模型后,还需要按该模型的字段设计一套新的模板,此外,DedeCms也支持使用风格的形式使用模板,默认风格是 default,它表示系统默认使用 cmspath/templets/default 这个文件夹的模板,如果你下载了一套新的模板,你可以不必要删除 default 原有的文件,把下载的模板文件夹命名你想要的风格名称,如 style2 等,然后在后台修改了默认的模板风格名称为 style2 ,那系统将使用 templets/style2 这文件当作默认模板,但是若你手工指定了栏目模板的位置,则后台参数风格的定义无效。

一、概念,设计和使用模板,必须要理解下面几个概念

1、板块(封面)模板:

  指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别IDhtm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。

2、列表模板:

  指网站某个栏目的所有文章列表的模板,一般用 “list_识别IDhtm” 命名。

3、档案模板:

  表示文档查看页的模板,如文章模板,一般用 “article_识别IDhtm” 命名。

4、其它模板:

  一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。

二、 命名,DedeCms模板默认命名规则如下

1、模板保存位置:

  模板目录:cmspath/templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}

2、 模板文件命名规范:

(1)index_识别IDhtm: 表示板块(栏目封面)模板;

(2)list_识别IDhtm: 表示栏目列表模板;

(3)article_识别IDhtm: 表示内容查看页(文档模板,包括专题查看页);

(4)searchhtm: 搜索结果列表模板;

(5)indexhtm: 主页模板;

注解:[识别ID]可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。

例:list_imagehtm 表示是就是内容类型为集的栏目默认列表模板。

  article_articlehtm 表示的是文章查看页模板。

三、其它模板说明

1、默认底层模板

位置: cmspath/templets/system

功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。

2、插件目录模板

位置: cmspath/templets/plus

功能:评论、友情链接、RSS地图等模板。

3、会员后台模板

位置: cmspath/member/templets

功能:会员后台的模板。

四、二次开发

  DedeCms主要的模板解析类是 include/inc_arcpart_viewphp、include/inc_arclist_viewphp、include/inc_archives_viewphp,这些类是与pub_dedetagphp一起工作的,如果你想为文档模板、列表模板、板块模板增加一些功能,可以直接修改这几个类的ParseTemplet()或ParseTempletsFirst()这类的方法,把标记名称,属性对应试相应该的功能函数即时。

希望能帮到你

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedecms 为什么无法执行正常的mysql函数?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情