DEDECMS,文章列表按时间顺序排列怎么修改?
我们经常用的是下面这个代码,亲可以试试
{dede:channelartlist typeid='top' row='5'}<a href="{dede:fieldtypeurl/}">{dede:fieldtypename/}</a>
<dl>
{dede:channel type='son' noself='yes'}<dd><a href="[field:typelink/]">[field:typename/]</a></dd>{/dede:channel}
</dl>
{/dede:channelartlist}
一、修改文件include/taglib/channellibphp,把
DEDE模板
$attlist =
"typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|";
修改成
$attlist =
"typeid|0,reid|0,row|100,col|1,type|son,currentstyle|,cacheid|,line|1";
//|后面的1,代表初始值
第二、在第9行附近追加如下代码:
//默认属性里设置的行数 $default_line =
$ctag->CAttribute->Items["line"];
第三、把下面代码
$row['sonids'] = $row['rel'] = '';
修改成
$row['sonids'] = $row['rel'] = ''; $row['line'] =
$default_line+$i;
最后,特别要注意的是,如果要使用currentstyle样式,即当前栏目样式,则必修将刚才的"line"字段,追加到下面代码后面
本文来自织梦模板团
$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); $linkOkstr =
str_replace("~line~",$row['line'],$linkOkstr);
好了,以上就是怎么给织梦dedecms栏目导航{dede:channel}标签添加序号,希望对大家修改织梦dedecms有所帮助。
在DEDECMS中,我们会发现导航代码中有一个[field:rel/],这个标签是导航栏中用来显示下级菜单栏目。
修改arclist标签的asc属性。
具体代码如下:
{dede:arclistorderway=''asc'}
文章按照顺序排列
{/dede:arclist}
解析原因:
orderway=''值为desc或asc,指定排序方式是降序还是顺向排序,将值修改asc就是顺序排列。
扩展资料
其他属性
1、typeid=''表示栏目ID,在列表模板和档案模板中一般不需要指定,在封面模板中允许用","分开表示多个栏目;
2、row=''表示返回文档列表总数;
3、col=''表示分多少列显示(默认为单列);
4、titlelen=''表示标题长度;
5、infolen=''表示内容简介长度;
6、imgwidth=''表示缩略图宽度;
7、imgheight=''表示缩略图高度;
8、type=''表示档案类型,其中空值、不使用这个属性或type='all'时为普通文档
参考资料:
这是初学者可能会问的问题,其实这要具体情况具体分析的:比如如果内容非常多,就要考虑用“国字型”或拐角型;而如果内容不算太多而一些说明性的东西比较多,则可以考虑标题正文型;那几种框架结构的一个共同特点就是浏览方便,速度快,但结构变化不灵活;而如果是一个企业网站想展示一下企业形象或个人主页想展示个人风采,封面性是首选;Flash型更灵活一些,好的Flash大大丰富了网页,但是它不能表达过多的文字信息。还没有提到的就是变化型了,我只是想把这个留给各位朋友了,因为,只有不断的变化才会提高,才会不断丰富我们的网页!
烈火网的多个搜索引擎跳转效果Tab选项卡效果,兼容IE、火狐、Chrome等网站技术分析报告之——开心网给Dedecms前台/后台添加来源网址功能极点五笔71(x86/x64)标准版/学习版导航栏的位置
导航栏能让我们在浏览时容易的到达不同的页面,是网页元素非常重要的部分,所以导航栏一定要清晰、醒目,一般来讲,导航栏要在“第一屏”能显示出来,但是有时第一屏可能会小于上面所说的435px,基于这点考虑,那种横向放置的导航栏要优于纵向的导航栏考虑,原因很简单:如果浏览者的第一屏很矮,横向的仍能全部看到,而纵向的就很难说了,因为窗口的宽度一般是不会受浏览器设置影响的,而纵向的则不确定性要大的多。
网页布局类型
网页布局大致可分为“国”字型、拐角型、标题正文型、左右框架型、上下框架型、综合框架型、封面型、Flash型、变化型,下面分别论述。
1“国”字型:也可以称为“同”字型,是一些大型网站所喜欢的类型,即最上面是网站的标题以及横幅广告条,接下来就是网站的主要内容,左右分列一些两小条内容,中间是主要部分,与左右一起罗列到底,最下面是网站的一些基本信息、****、版权声明等。这种结构是我们在网上见到的差不多是最多的一种结构类型。
2拐角型:这种结构与上一种其实只是形式上的区别,其实是很相近的,上面是标题及广告横幅,接下来的左侧是一窄列链接等,右列是很宽的正文,下面也是一些网站的辅助信息。在这种类型中,一种很常见的类型是最上面是标题及广告,左侧是导航链接。
3标题正文型:这种类型即最上面是标题或类似的一些东西,下面是正文,比如一些文章页面或注册页面等就是这种类。
4左右框架型:这是一种左右为分别两页的框架结构,一般左面是导航链接,有时最上面会有一个小的标题或标致,右面是正文。我们见到的大部分的大型论坛都是这种结构的,有一些企业网站也喜欢采用。这种类型结构非常清晰,一目了然。
5上下框架型:与上面类似,区别仅仅在于是一种上下分为两页的框架。
6综合框架型:上页两种结构的结合,相对复杂的一种框架结构,较为常见的是类似于“拐角型”结构的,只是采用了框架结构。
7封面型:这种类型基本上是出现在一些网站的首页,大部分为一些精美的平面设计结合一些小的动画,放上几个简单的链接或者仅是一个“进入”的链接甚至直接在首页的上做链接而没有任何提示。这种类型大部分出现在企业网站和个人主页,如果说处理的好,会给人带来赏心悦目的感觉。
8Flash型:其实这与封面型结构是类似的,只是这种类型采用了目前非常游戏行的Flash,与封面型不同的是,由于Flash强大的功能,页面所表达的信息更丰富,其视觉效果及听觉效果如果处理得当,绝不差于传统的多媒体。
9变化型:即上面几种类型的结合与变化,比如本站在视觉上是很接近拐角型的,但所实现的功能的实质是那种上、左、右结构的综合框架型。
织梦DedeCms全站伪静态,是为了更方便管理和SEO,织梦DedeCms默认是生成静态html文件的,对于优化已经非常友好,但还是有部分页面是动态形式的(比如:Tag标签页面、网站内容搜索页面、DedeCms问答页面等),为了是这些页面更好的被搜索引擎收录,就需要进行伪静态了,虽然织梦DedeCms系统可以生成静态html文件,但如果每天更新内容量特别大的话,对于生成html文件也成为系统和人力的一个负担,那么也可以做成伪静态形式,这样就免去了不断繁琐的生成html文件了。
将DedeCms全站静态化,这就需要mod_rewrite伪静态模块的支持。只要站长对htaccess正则表达式精通,就可以把dede整站静态
化,更符合搜索引擎,而且还可以避免重复URL来。DedeCms全站伪静态配置有些麻烦,主要是需要我们手动修改源代码。整理步骤如下:
1、首先开启站点伪静态功能。登录dede管理员后台->系统->系统基本参数->核心设置->是否使用伪静态 请选择“是”。
2、修改源程序,实现首页伪静态、频道页伪静态、列表页伪静态、文章页伪静态,这是过程比较复杂,不如其它php开源程序操作简单。
3、制作编写htaccess和htaccess文件规则,上传到DedeCms的安装目录。
织梦DedeCms全站伪静态教程:含列表|文章|问答|搜索|TAG伪静态规则:
1、网站服务器和网站空间是否支持伪静态:
这点特别重要,要么所以设置都不起作用。如果你的网站使用的是服务器,那么就可以自己动手设置一下,如果是空间的话,可以询问下IDC服务商客服,看是否
支持伪静态(一般空间都是支持伪静态的)。Apache服务器伪静态相对简单,直接在htaccess文件中加入相应伪静态规则即可;而IIS服务器伪
静态的实现,则需要加载Rewrite组件,然后配置httpdini文件。
2、开启DedeCMS伪静态:
1)织梦DedeCms后台-系统参数-核心设置-是否使用伪静态:选择“是”;
2)如果你启用了织梦DedeCms问答模块,则在后台-系统参数-模块设置-是否使用Rewrite:选择“是”;
3)创建栏目或批量增加栏目时,栏目列表选项:选择“使用动态页”; 添加新文章时,发布选项:选择“仅动态浏览 ”。同样你也可以更改他们的模板,让他们默认就是这两个值,一劳永逸。修改方法很简单,方法如下:
找到后台文件:/dede/templets/catalog_addhtm 修改添加栏目时默认“使用动态页”
<td height="26" style="padding-left:10px;">栏目列表选项:</td>
<td><input type='radio' name='isdefault' value='1' class='np' checked="checked" />链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页
<input type='radio' name='isdefault' value='-1' class='np' />使用动态页</td>
改为下面代码
<td height="26" style="padding-left:10px;">栏目列表选项:</td>
<td><input type='radio' name='isdefault' value='1' class='np' />链接到默认页
<input type='radio' name='isdefault' value='0' class='np' />链接到列表第一页
<input type='radio' name='isdefault' value='-1' checked="checked" class='np' />使用动态页</td>
找到后台文件:/dede/templets/article_addhtm 修改添加文章时默认“仅动态浏览”
<td width="90">发布选项:</td>
<td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />生成HTML
<input type="radio" name="ishtml" class="np" value="0"/>仅动态浏览 </td>
改为下面代码
<td width="90">发布选项:</td>
<td width="379"><input name="ishtml" type="radio" class="np" value="1" />生成HTML
<input type="radio" name="ishtml" class="np" value="0" checked="1"/>仅动态浏览 </td>
4)如果网站已经存在生成的静态栏目或文章HTML,那么只需在后台-系统-SQL命令行工具 中执行如下语句:
update dede_arctype set isdefault=-1;
update dede_archives set ismake=-1;
注:命令中dede是网站安装时的数据表前缀,根据实际情况进行替换。
3、开启DedeCms伪静态支持并不能完全在后台配置,有很多地方还是需
要手动修改的。下面讲解DedeCms全站伪静态的实现方法,适用于V53以上版本。这次的DedeCms伪静态测试环境是Windows
IIS6,对于Linux或其它服务器的伪静态实现原理都是一样的,只要搞清楚思路就行。
1)DedeCms首页伪静态:
把站点根目录下indexhtml删除,以后不更新主页HTML就可以了,当然你也可以选择不使用动态首页。
2)DedeCms频道|列表页|文章页伪静态:
主要通过修改GetFileName()、GetTypeUrl()这两个函数实现。DedeCms V53、DedeCms
V55和DedeCms V56版本,打开/include/channelunitfuncphp进行修改。注意:DedeCms
V57,此文件路径更改了,你打开/include/helpers/channelunithelperphp即可。
A将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS['cfg_phpurl']"/listphptid="$typeid;
替换为
//动态
$reurl = "/category/list-"$typeid"html";
这步必须修改,即让你的频道或是列表页URL变更为/category/list-1html形式。
B将GetFileName()中的如下代码:
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]"/view-"$aid'-1html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return "/archives/view-"$aid'-1html';
}
将文章页默认的/plus/view-1-1html链接格式改为/archives/view-1-1html,随个人喜好,不改也行。
3)DedeCms列表分页伪静态:
打开/include/arclistviewclassphp,找到获取动态的分页列表GetPageListDM()函数末尾处:
$plist = str_replace('phptid=', '-', $plist);
替换为
$plist = str_replace('plus', 'category', $plist);//将默认的plus替换成category
$plist = str_replace('phptid=', '-', $plist);
将列表分页默认链接格式/plus/list-1-2-1html修改为/category/list-1-2-1html,这步也可以不作更改。
4)DedeCms文章分页伪静态:
打开/include/arcarchivesclassphp,找到获取动态的分页列表GetPagebreakDM()函数末尾片:
$PageList = str_replace("phpaid=","-",$PageList);
替换为
$plist = str_replace('plus', 'archives', $plist);//将默认的plus替换成archives
$PageList = str_replace("phpaid=","-",$PageList);
这步不作修改也可以,只是个人喜好问题。
5)DedeCmsTAG标签伪静态:
DedeCms默认的TAG标签URL,形如/tagsphp/dedecms57/,特别的难看。打开/include/taglib/taglibphp,找到lib_tag()函数下的:
$row['link'] = $cfg_cmsurl"/tagsphp/"urlencode($row['keyword'])"/";
替换为
$row['link'] = $cfg_cmsurl"/tags/"urlencode($row['keyword'])"/";
到这里,TAG标签URL中的“php”号就去掉了。
6)DedeCms搜索伪静态:
DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。将搜索URL中“searchphp…”直接替换为“searchhtml…”,至于“”号之后的参数以任意字符进行匹配。
依次打开include文件夹下的channelunitfuncphp、arcsearchviewclassphp、
arctaglistclassphp以及/include/taglib/hotwordslibphp,查找“searchphp”替
换为“searchhtml”即可。
7)DedeCms问答伪静态:
问答模块的伪静态实现比较简单,只要后台开启伪静态支持即可,至于个别页面,如ask目录下的browserphp、questionphp以及
include目录下的commonincphp、functionsincphp都需要简单修改才可以匹配伪静态规则。注意一
点,DedeCms V57问答模块整体升级了,之前的规则已经不适用了。
4、DedeCms伪静态规则:
依照上面的步骤修改完毕,接下来配置好httpdini文件和htaccess文件伪静态规则,则DedeCms全站伪静态就完美实现。
1)IIS伪静态
打开httpdini文件,加入如下规则:
#首页伪静态规则,如果不使用动态首页,请勿必删除这一行,否则打开首页会出现死循环
RewriteRule ^()/index\html $1/index\php [I]
#列表页伪静态规则
RewriteRule ^()/category/list-([0-9]+)\html $1/plus/list\php\tid=$2 [I]
RewriteRule ^()/category/list-([0-9]+)-([0-9]+)-([0-9]+)\html
$1/plus/list\php\tid=$2&TotalResult=$3&PageNo=$4 [I]
#文章页伪静态规则
RewriteRule ^()/archives/view-([0-9]+)-([0-9]+)\html $1/plus/view\php\arcID=$2&pageno=$3 [I]
#搜索伪静态规则
RewriteRule ^()/search\html(:(\)) $1/search\php$2 [I]
#TAG标签伪静态规则
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]
#问答伪静态规则,适用于DedeCmsV53-56版本,需要修改几处程序
RewriteRule ^()/post\html $1/post\php [I]
RewriteRule ^()/type\html $1/type\php [I]
RewriteRule ^()/question-([0-9]+)\html $1/question\php\id=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)\html $1/browser\php\tid=$2 [I]
RewriteRule ^()/browser-2-([0-9]+)\html $1/browser\php\tid2=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)-([0-9]+)\html $1/browser\php\tid=$2&page=$3 [I]
RewriteRule ^()/browser-2-([0-9]+)-([0-9]+)\html $1/browser\php\tid2=$2&page=$3 [I]
RewriteRule ^()/browser-([0-9]+)\html $1/browser\php\lm=$2 [I]
RewriteRule ^()/browser-1-([0-9]+)-([0-9]+)\html $1/browser\php\tid=$2&lm=$3 [I]
RewriteRule ^()/browser-2-([0-9]+)-([0-9]+)\html $1/browser\php\tid2=$2&lm=$3 [I]
2)Apache伪静态:
打开htaccess文件,加入如下规则:
#提供部分规则作参考
RewriteRule ^category/list-([0-9]+)\html$ /plus/listphptid=$1
RewriteRule ^category/list-([0-9]+)-([0-9]+)-([0-9]+)\html$ /plus/listphptid=$1&totalresult=$2&PageNo=$3
RewriteRule ^archives/view-([0-9]+)-([0-9]+)\html$ /plus/viewphpaid=$1&pageno=$2
RewriteRule ^indexhtml$ indexphp
0条评论