在织梦(DedeCMS)中,为列表标题和TAG标签列表加序号是一项常见的需求,通过添加序号,可以使页面内容更加清晰易读,提升用户体验,下面将详细介绍如何在织梦的列表标题和TAG标签列表中加入序号,并提供相关代码示例和常见问题解答。

1、使用autoindex属性:织梦自带的autoindex属性可以方便地实现列表标题前的序号递增。
2、具体实现步骤
打开需要修改的模板文件,例如list_article.htm。
找到显示列表标题的代码部分,通常是一个<ul>或<ol>标签包含的<li>
在每个<li>标签内,添加[field:global runphp='yes' name=autoindex][/field:global]代码。
3、示例代码
<ul>
{dede:arclist row='5' titlelen='30'}
<li><em>[field:global runphp='yes' name=autoindex][/field:global]</em>
<a href='[field:arcurl/]' title="[field:fulltitle/]">[field:title/]</a>
<cite>[field:pubdate function="MyDate('md',@me)"/]</cite>
</li>
{/dede:arclist}
</ul>
在这个例子中,[field:global runphp='yes' name=autoindex][/field:global]会在每个列表项前自动增加一个序号。
二、在TAG标签列表加序号
1、获取TAG标签列表:首先需要获取文章对应的TAG标签列表。
2、拆分并循环输出:将获取到的TAG标签以逗号分隔,然后循环输出每个TAG标签并加上链接。

3、具体实现步骤
打开需要修改的模板文件,例如tags.htm。
在适当的位置添加以下代码来获取并输出TAG标签列表。
4、示例代码
global $cfg_cmspath;
$tags = GetTags(@me);
$tags = explode(',', $tags);
foreach($tags as $key => $value){
if($value){
$revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'.$value.'</a> ';
}
}
@me = $revalue;
在这个例子中,GetTags(@me)函数用于获取当前文档的TAG标签,然后将其拆分为数组,最后循环输出每个TAG标签并加上链接。
三、表格展示
| 功能 | 方法 | 示例代码 |
| 列表标题加序号 | 使用autoindex属性 |
|
| TAG标签加序号 | 获取TAG标签列表,拆分并循环输出 | $tags = GetTags(@me); $tags = explode(',', $tags); foreach($tags as $key => $value){...} |
四、FAQs
1、Q: 如何在织梦列表页调用每篇文章的TAG标签?
A: 在模板文件中使用以下代码:
[field:id runphp='yes'] global $cfg_cmspath; $tags = GetTags(@me); $revalue = ''; $tags = explode(',', $tags); foreach($tags as $key => $value){ if($value){ $revalue .= '<a href="'.$cfg_cmspath.'/tags.php?/'.$value.'/">'.$value.'</a> '; } } @me = $revalue; [/field:id]
这段代码会在每篇文章标题后显示其对应的TAG标签,并以链接形式展示。

2、Q: 如何在织梦列表页实现按文章权重排序?
A: 修改根目录include/arc.listview.class.php文件,在第727行处添加以下代码:
if($orderby=="weight") {
$ordersql=" ORDER BY arc.weight $orderWay";
}
然后在第778行处找到此段代码:
if(preg_match('/hot|click|lastpost|weight/', $orderby))
并在其后添加上述代码,这样就可以在列表页通过orderby='weight'参数实现按文章权重排序了。
通过上述步骤和示例代码,您可以轻松地在织梦(DedeCMS)的列表标题和TAG标签列表中加入序号,从而提升页面的可读性和用户体验。