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

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

dede数据库字段说明,dede_addonarticle 附加文章表,操作方法如下:

1、首先登录dedecms网站后台,在“核心”模块下找到“网站栏目管理”,如下图所示。

2、然后在“栏目管理中”增加顶级栏目。

3、接着在常规选项中填写栏目名称,文件保存目录和目录相对位置。

4、栏目内容可填写可不填写,如果填写,可以在栏目页通过“{dede:fieldcontent}”调用。

5、设置好后,点击保存,这样就成功新建了一个顶级栏目,如下图所示就完成了。

方法:typeid='top' 或者typeid='asdas'任意字母不为空不为数字 写上这一个属性就可以了

{dede:arclist orderby='pubdate'  titlelen='28' row='7' typeid='top' }

如果是在文章页 这篇文章又是最新刚发布的,那么最新文章里就会包含这篇文章,想要去除这篇文章,可以加limit{dede:arclistorderby='pubdate'  titlelen='28'row='7'typeid='top'  limit='1,7'}

当然如果不是最新的文章,再次生成的时候还是有可能和当篇文章重复的

织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展。

目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用该系统。

修改前先做好备份

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模板

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

GetParentId(@me)

<img src="{dede:globalcfg_templets_skin/}/webimg/leftmenu_title_{dede:fieldtypeid function="GetParentId(@me)"/}png" width="240" height="56" />

栏目列表-->更改->高级选项 ->文章命名规则->{aid} 这个指的就是ID,去掉就不会显示了,

不过栏目里不设置ID文章会被最新的一篇覆盖。

可以在文章编辑中的高级参数中直接定义“自定义文件名:”这样文章url可以直接指定你定义的

方法和详细的操作步骤如下:

1、第一步,打开织梦Dedecms的主界面,直接找到“增加顶级栏目”选项并选择跳转,见下图,转到下面的步骤。

2、第二步,执行完上面的操作之后,进入新对话框,根据实际情况进行设置,见下图,转到下面的步骤。

3、第三步,执行完上面的操作之后,请单击“确定”按钮,见下图,转到下面的步骤。

4、第四步,执行完上面的操作之后,可以调用当前栏目的文章列表,见下图。这样,就解决了这个问题了。

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} 两个标记。

底层模板变量:

包含{dede:type}{/dede:type}及{dede:arclist}{/dede:arclist}下面所有底层模板变量。

需要加入栏目ID,如:typeid='1,2,3,4,5'

同1

需要加入关键词,如:keyword='关键词' 

不存在,只能通过畅言等第三方插件实现。

虽然都给出了答案,但是DEDE这个系统负载能力不是很好,如果文章多了,你建立这么多东西在内容页的话生成速度就极大降低了,建议你把想的这些都变成公共文件然后用静态语言进行调用。例如:<!--#include virtual="/a/thtml" -->(我把服务器开通了SSI功能就能调用shtml htm html文件了。)

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

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情