# 如何让DedeCMS后台模板列表按字母排序

*Published:* 2023-12-13
*Author:* 客服001

#### 温馨提醒

如果文章内容或图片资源失效，请留言反馈，我们会及时处理，谢谢

本文最后更新于2023年12月13日，已超过 180天没有更新



织梦dedecms系统的后台文件默认的排序很乱, 不是按名称, 也不是按时间。如果目录内容很多的话, 管理不是很方便。于是想让这些文件列表按名字排序, 看了一下后台的文件, 原来是因为php的函数dir引起的, 以【默认模板管理】在文件列表为例, 在后台的找到模板文件: /dede/templets/templets\_default.htm (dede为你的后台目录), 打开这个文件找到：

```
<?php
$dh = dir($templetdird);
while($filename=$dh->read())
{
if(!preg_match("#\.htm#", $filename)) continue;
$filetime = filemtime($templetdird.'/'.$filename);
$filetime = MyDate("Y-m-d H:i",$filetime);
$fileinfo = (isset($fileinfos[$filename]) ? $fileinfos[$filename] : '未知模板');
?>
```

替换为：

```
<?php
$files = scandir($templetdird);
foreach ($files as $filename)
{
if(!preg_match("#\.htm#", $filename)) continue;
$filetime = filemtime($templetdird.'/'.$filename);
$filetime = MyDate("Y-m-d H:i",$filetime);
$fileinfo = (isset($fileinfos[$filename]) ? $fileinfos[$filename] : '未知模板');
?>
```

可以看得出来使用了PHP的dir函数导致的, dir()读取的文件是无序的。

现在我们要想办法让他按名字排序, 这里可以改另一个读取目录文件的函数scandir(); 这个函数的文件会按文件名称排序。