dede 生成的栏目信息排列顺序不按id顺序排列,怎么办

dede 生成的栏目信息排列顺序不按id顺序排列,怎么办,第1张

方法/步骤

没有修改后台之前

虽然织梦后台也自带自动生成地图的功能,但是那就是个生成栏目目录的,并不能实现我们要的Sitemap地图,而也有不少人常用其他地图生成工具,这样一来又要上传,每天都要生成、上传,非常麻烦。那么,余斗接下里提供xml和html的地图格式的后台生成方法,所需的文件在文章后面的下载链接里有。  

在没有修改前,织梦的后台生成栏目如图:

开始修改文件及上传文件

接下来,就打开下载的文件,最重要的一步:把除了php文件外的所有格式文档用DW打开,批量替换wwwabccom为你的域名(注意是所有的)。把sitemaphtm和sitemapxml文件放到你网站的模版目录下(默认的是default),比如我的网站模版风格是abc,那么这两个文件就上传到网站的根目录的/templets/abc/下,然后在返回根目录,打来dede这个文件夹,(注:就是织梦的后台登录目录,可能有的公司改了这个名字,后台登录的后缀是什么就打开那个文件夹),先把我已经修改好的inc_menuphp这个文件放覆盖到inc文件夹下,把makehtml_homepagehtm、makehtml_htmlepagehtm、makehtml_xmlepagehtm这三个模版文件放到模版目录即dede/templets下(提示重复的直接覆盖即可),最后把剩下的两个php文件放到dede目录下即可。  

回到织梦的后台生成栏目,你会发现多了两个生成地图的选项,点开后,生成网站的xml和html地图就很好操作了。如图

百度Ping推送功能

因为Ping推送要有Rss订阅才能实现,所以再实现百度推送功能之前要简单的增加个织梦的Rss订阅功能,打开下载的“DEDECMS百度ping插件+全站rss”里面的“全站rss”,把php文件直接上传到根目录,templetsdefault里的rsshtm则放到你网站当前所选的模版目录下(默认的是default)。  

完成后,直接访问你的网站域名rssphp就可以看到你的网站订阅功能实现了。  

在没添加百度Ping功能,后台看文章显示如图(Ping修改之前):

接下来就是比较重要的百度Ping推送功能了。先把批量替换域名后的“百度ping/dede”文件夹下的文件各自上传到相应的文件夹下覆盖即可。  

然后要着重修改pingphp这个文件了。  

1、找到pingphp中的倒数第2行:  

$arc=newPing('你的网站title',get_arcurl($id),get_domain(),'你的网站/rssphp');  

这行的意思是:  

$arc=newPing('网站名称',get_arcurl($id),get_domain(),'网站RSS地址');  

修改为自己的就可以了。  

2、搜索一下:$conn=mysql_connect  

会找到两个  

$name='数据库名';  

$conn=mysql_connect('数据库连接','数据库帐号','数据库密码');  

有很多人在这里不知道自己的数据库相关信息,可以在你的ftp里下载data目录下的commonincphp,打开就可以清楚的看到所有数据库的信息了,对照把pingphp的数据库链接信息改好上传到网站根目录。  

刷新后台的文章管理栏目如图(ping修改后):

4

实现推送功能

到这里,就实现了两大织梦后太没有自带的功能,测试至今尚未发现bug,对网站无影响。

利用模板。目前PHP的模板可以说是很多了,有功能强大的smarty,还有简单易用的smarttemplate等。它们每一种模板,都有一个获取输出内容的函数。我们生成静态页面的方法,就是利用了这个函数。用这个方法的优点是,代码比较清晰,可读性好。

这里我用smarty做例子,说明如何生成静态页:

<php

require("smarty/Smartyclassphp");

$t = new Smarty;

$t->assign("title","Hello World!");

$content = $t->fetch("templates/indexhtm");

//这里的 fetch() 就是获取输出内容的函数,现在$content变量里面,就是要显示的内容了

$fp = fopen("archives/2005/05/19/0001html", "w");

fwrite($fp, $content);

fclose($fp);

>

修改前先做好备份

DEDECMS首页频道channelartlist标签通过typeid属性排序方法: DEDECMS模板

找到\include\taglib\channelartlistlibphp文件,使用DW打开,然后修改第78行 DEDECMS模板

$dsql->SetQuery("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

FROM `dede_arctype` WHERE $tpsql ORDER BY sortrank ASC LIMIT $totalnum"); 织梦模板团

修改为

$dsql->SetQuery("Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath

from `#@_arctype` where $tpsql order by substring_index( '$typeid',id,1) limit $totalnum"); DEDECMS模板

这样修改了后,就可以通过{dede:channelarclist typeid='2,4,1,3'}对应输出相应栏目的内容了。 DEDECMS模板

这样是很有用处的哦!有时我们就需要这样的修改排序,很不错的方法。

您好,织梦云模版(dedeyun)很高兴为您解答:

首先回答您第一个问题:你在后台建立栏目有很多方法在前台显示

{dede:channel type='top'}[field:typename/]{/dede:channel} 这个是输出后台你建立的所有栏目。 {dede:type typeid='你栏目id'}[field:typename/]{/dede:type} 这个是调用某一个栏目

当然栏目调用还有其他很多方法,具体请您多看织梦的官方标签。

其次,需要别人数据,唯一的办法就是采集。这个还是需要你学习。

总之,你需要基础才行。希望我的回答能够帮到您。

默认的情况下,网址地图是放在如下路径下的。

站点地图的模板:templets/plus/sitemaphtm

rss地图的模板:templets/plus/rssmaphtm

通过ftp进入网站,将dede文件下makehtml_mapphp中的$cfg_cmspath"/data/sitemaphtml";和$cfg_cmspath"/data/rssmaphtml";里的/data去掉。

然后,再将根目录下include文件中的arcrssviewclassphp里$murl = $GLOBALS['cfg_cmspath']"/data/rss/"$this->TypeID"xml";的/data去掉。同时,还将sitemapclassphp里的$typelink = $GLOBALS['cfg_cmsurl']"/data/rss/"$row->id"xml";和$typelink = $GLOBALS['cfg_cmsurl']"/data/rss/"$row->id"xml";的/data也去掉。

然后,进入织梦后,点击生成,地图和RRS生成即可。

检查你的文件编码。还有你的标签的书写。php标签 需要后台开启才可以使用的。

页面的编码、文件的存储的编码、dedecms程序的编码要统一。

编码不能解析的原因,大部分是标签书写错误的原因。建议到dede默认的模板里直接复制。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dede 生成的栏目信息排列顺序不按id顺序排列,怎么办

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情