在这里,我们将给大家分享关于织梦DEDECMS分页修改和美化办法的知识,让您更了解织梦内容页模板修改的本质,同时也会涉及到如何更有效地dedecms模板DedecmsV31生成HTML速度的优化办法、
在这里,我们将给大家分享关于织梦DEDECMS分页修改和美化办法的知识,让您更了解织梦内容页模板修改的本质,同时也会涉及到如何更有效地dedecms模板 Dedecms V31 生成HTML速度的优化办法、修改织梦dedeCMS简略标题字数的办法、织梦DedeCMS 5.7图集点击图片进入下一篇的修改办法、织梦DedeCms5.7给栏目栏目添加缩略图的修改办法的内容。
本文目录一览:- 织梦DEDECMS分页修改和美化办法(织梦内容页模板修改)
- dedecms模板 Dedecms V31 生成HTML速度的优化办法
- 修改织梦dedeCMS简略标题字数的办法
- 织梦DedeCMS 5.7图集点击图片进入下一篇的修改办法
- 织梦DedeCms5.7给栏目栏目添加缩略图的修改办法
织梦DEDECMS分页修改和美化办法(织梦内容页模板修改)
DEDE默认分类分页地址存在不同网址相同内容问题,导致内容重复,对优化特别不利。情况如下分页列表:
<li><a href='list_4_1.html'>首页</a></li>
<li><a href='list_4_3.html'>上一页</a></li>
<li><a href='list_4_1.html'>1</a></li>
<li><a href='list_4_2.html'>2</a></li>
<li><a href='list_4_3.html'>3</a></li>
<li><a href='list_4_4.html'>4</a></li>
<li><a href='list_4_5.html'>5</a></li>
<li><a href='list_4_5.html'>下一页</a></li>
<li><a href='list_4_5.html'>末页</a></li>
解决思路
让分页地址"首页"、"1"与分类页地址一样
如果是老站,搜索引擎已收录了重复的list_4_1.html页面,则301到首页或删除。效果如下图:
<li><a href=http://www.dede58.com/a/dedejq/"/xc/">首页</a></li>
<li><a href=http://www.dede58.com/a/dedejq/"xc-3.html">上一页</a></li>
<li><a href=http://www.dede58.com/a/dedejq/"/xc/">1</a></li>
<li><a href=http://www.dede58.com/a/dedejq/"xc-2.html">2</a></li>
<li><a href=http://www.dede58.com/a/dedejq/"xc-3.html">3</a></li>
<li>4</li>
<li><a href=http://www.dede58.com/a/dedejq/"xc-5.html">5</a></li>
<li><a href=http://www.dede58.com/a/dedejq/"xc-6.html">6</a></li>
<li><a href='xc-5.html'>下一页</a></li>
<li><a href='xc-6.html'>末页</a></li>
解决方案
1,找到include\arc.listview.class.php这个文件,将
$typedir= ereg_replace('{cmspath}',$GLOBALS['cfg_cmspath'],$this->Fields['typedir']);
这段代码添加到"//获得上一页和主页的链接"前面;
2,找到下面几行代码(就在"//获得上一页和主页的链接"下面)
if($this->PageNo != 1)
{
$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";
$indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li>\r\n";
}
改成:
if($this->PageNo != 1)
{
if($prepagenum==1)
{
$prepage.="<li><a href=http://www.dede58.com/a/dedejq/\"".$typedir."/\">上一页</a></li>\r\n";
}
else
{
$prepage.="<li><a href=http://www.dede58.com/a/dedejq/\"".str_replace("{page}",$prepagenum,$tnamerule)."\">上一页</a></li>\r\n";
}
$indexpage="<li><a href=http://www.dede58.com/a/dedejq/\"".$typedir."/\">首页</a></li>\r\n";
}
3.找到
$listdd.="<li><a href=’".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";
改成:
if($j==1)
{
$listdd.="<li><a href=http://www.dede58.com/a/dedejq/\"".$typedir."/\">".$j."</a></li>\r\n";
}
else
{
$listdd.="<li><a href=http://www.dede58.com/a/dedejq/\"".str_replace("{page}",$j,$tnamerule)."\">".$j."</a></li>\r\n";
}
好了,只需3步,大功告成了。
如果是老站点,搜索引擎已经收录了类似’list_1_1.html’这样的页面的话,您可以通过301转到首页,如果是虚机不能修改,那就删除了。
本文章网址:http://www.ppssdd.com/code/12747.html。转载请保留出处,谢谢合作!dedecms模板 Dedecms V31 生成HTML速度的优化办法
由于版本兼容性等各方面的原因,实际上dedecms的索引有点混乱,如果索引设置得适合,影响dedecmsHTML生成速度的,主要是获得没有按默认按排序的文章列表的时候,由于要重新排序,数据量大时速度会很不理想,可以通过下面几个步骤轻松优化:
1、进入 phpmyadmin ,把 dedecms 站点 dede_archives 除了 ID 主键的索引外的索引删除;
2、用SQL创建如下索引:
Alter TABLE `#@__archives` ADD INDEX `click` (`click`);
Alter TABLE `#@__archives` ADD INDEX `typeid` (`typeid`);
Alter TABLE `#@__archives` ADD INDEX `arcrank` (`arcrank`);
Alter TABLE `#@__archives` ADD INDEX `sortrank` (`sortrank`);
Alter TABLE `#@__archives` ADD INDEX `senddate` (`senddate`);
Alter TABLE `#@__archives` ADD INDEX `pubdate` (`pubdate`);
Alter TABLE `#@__archives` ADD INDEX `litpic` (`litpic`);
Alter TABLE `#@__archives` ADD INDEX `typeid2` (`typeid2`);
在数据量为1W-10W左右的区间,经过这样的优化后,如果内容页没有相关文章的标记,生成速度会快三至五倍
如果有相关文章标记,也会快两至三倍
以上就介绍了dedecms模板 Dedecms V31 生成HTML速度的优化办法,包括了dedecms模板方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
修改织梦dedeCMS简略标题字数的办法
因为网站偶尔会用到的DEDECMS中的“简略标题”,可是在默认情况下,简略标题长度为36个字符,即18个汉字。做为新闻副标题,有进可能不够用。这时,我们就需要再次手工修改DEDE的核心文件了:解决方案:
一、修改数据库字段设置
用phpmyadmin登录数据库,找到dede_archives表,再找到shorttitle字段,将值由36修改为100。
PS:36为36个字符,相当于18个汉字长度,这里改为100,也就是50个汉字。
二、修改核心文件
找到DEDE的管理后台目录(默认目录为/dede/),找到以下几个文件:
archives_add.php
archives_do.php
archives_edit.php
article_add.php
article_edit.php
可以通过网页编辑软件或者记事本批量替换里面的源代码。
复制代码 $shorttitle = cn_substrR($shorttitle,36); 把36改成你需要的长度就可以了。如修改为100。完成以上两步后,修改就成功了。 本文章网址:http://www.ppssdd.com/code/13145.html。转载请保留出处,谢谢合作!
织梦DedeCMS 5.7图集点击图片进入下一篇的修改办法
织梦DedeCMS图集点击到*后一页会提示“没有了哦”,这样对用户体验不好,我们可以实现点击*后一页的时候进入下一篇图集,很实用功能。
修改办法如下:
修改 include/arc.archives.class.php 文件
1、查找“解析源码,对内容里的变动进行赋值”在这段话上面添加以下代码 :
function ClickPicNext($ismake=1,$aid,&$body)
{
global $cfg_rewrite;
if($this->NowPage!=$this->TotalPage)
{
$lPage=$this->NowPage+1;
if($ismake=1)
{
$body=preg_replace("/& lt;(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU","点击图片,进入下一页<br /><a href='".$this->NameFirst."_".$lPage.".".$this->ShortName."'>"."\${0}"."</a>",$body);
}
else
{
$PageList="<a href='view.php?aid=$aid&pageno=$lPage'>"."\${0}"."</a>";
if($cfg_rewrite == 'Y')
{
$PageList = str_replace(".php?aid=","-",$PageList);
$PageList = preg_replace("/&pageno=(\d+)/i",'-\\1.html',$PageList);
}
$body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU",$PageList,$body);
}
}
else
{
$body=preg_replace("/<(img|IMG)(.*)(src|SRC)=[\"|'| ]{0,}((.*)>)/isU",$this->GetPreNext('imgnext'),$body);
}
return $body;
}
2,查找
$this->Fields[$this->SplitPageField] = $this->SplitFields[$pageNo - 1];
在其下面添加
if($ClickPicNext){
$this->Fields[$this->SplitPageField]=$this->Fields[$this->SplitPageField];
}else{
$this->Fields[$this->SplitPageField]=$this->ClickPicNext($ismake,$this->Fields['id'],$this->Fields[$this->SplitPageField]);
}
3,查找
$this->PreNext['next'] = "下一篇:<a href='$mlink'>{$nextRow['title']}</a> ";
在其下面添加
$this->PreNext['imgnext'] ="<a href='$mlink'>"."\${0}"."</a>";
4,查找
$this->PreNext['next'] = "下一篇:没有了 ";
在其下面添加
$this->PreNext['imgnext'] ="\${0}";
5.查找
else if($gtype=='next')
{
$rs = $this->PreNext['next'];
}
在其下面添加
else if($gtype=='imgnext')
{
$rs = $this->PreNext['imgnext'];
}
织梦DedeCms5.7给栏目栏目添加缩略图的修改办法
dedecms虽然是用户量特别大的建站系统,但是也存在着一些BUG,比如,在dedecms源码中通常会遇动这样的设置 我们一个栏目列表都用缩略图来表示产品,而不仅仅只是文字,如果没有这项功能会特别麻烦,网上有很多这方面的资料,但是都试过了有很多问题,自己研究一下,测试基本通过。
新加字段 typeimg
后台执行SQL:
alter table `dede_arctype` add `typeimg` char(100) NOT NULL default ”;
涉及到文件:
dede/cata日志_add.php
dede/cata日志_edit.php
dede/templets/cata日志_add.htm
dede/templets/cata日志_edit.htm
打开dede/cata日志_add.php
查找$queryTemplate = “insert into `dede_arctype`
将
(reid,topid,sortrank,typename,typedir,
替换为
(reid,topid,sortrank,typename,typedir,typeimg,
将
(‘~reid~’,'~topid~’,'~rank~’,'~typename~’,'~typedir~’,
替换为
(‘~reid~’,'~topid~’,'~rank~’,'~typename~’,'~typedir~’,'~typeimg~’,
打开dede/cata日志_edit.php
查找
$upquery = “Update `dede_arctype` set
在其下面新加一行
`typeimg`=’$typeimg’,
打开dede/templets/cata日志_add.htm
查找
在其下面增加以下内容
并在文件的head增加以下内容
<script language=’javascript’ src=http://www.dede58.com/a/dedejq/”js/main.js”></script>
打开dede/templets/cata日志_edit.htm
在刚前面的位置加入:
说明:下面这句会调用出已添加的路片路径。
<?php echo $myrow['typeimg']?>
并在文件的head增加以下内容
<script language=’javascript’ src=http://www.dede58.com/a/dedejq/”js/main.js”></script>
我试了一下在模版里用:{dede:field.typeimg /} 是调不出数据的,所以我改成了SQL调用。
原来是这样的:
{dede:channel type=’top’ row=’13′}
<li><a href=http://www.dede58.com/a/dedejq/’[field:typeurl/]‘ [field:rel/]>[field:typeimg/]</a></li>
{/dede:channel}
在这里面加上[field:typeimg] 是调不出来的,我个人认为栏目缩略图就是通过循环出来的,而循环不出来则意义不大,所以改成了如下:
{dede:sql sql=”SELECT typename,typedir,typeimg FROM dede_arctype”}
<li><a href=http://www.dede58.com/a/dedejq/”[field:typedir/]“>[field:typeimg/]</a></li>
{/dede:sql}
这样就顺利的调出来了,当然如果你要调用子ID的话,只要加上相应的条件ID调用就可以了。
今天关于织梦DEDECMS分页修改和美化办法和织梦内容页模板修改的讲解已经结束,谢谢您的阅读,如果想了解更多关于dedecms模板 Dedecms V31 生成HTML速度的优化办法、修改织梦dedeCMS简略标题字数的办法、织梦DedeCMS 5.7图集点击图片进入下一篇的修改办法、织梦DedeCms5.7给栏目栏目添加缩略图的修改办法的相关知识,请在本站搜索。
本文标签: