织梦dedecms后台是可以在线修改模板的,这个功能的除了似乎有那么一点不安全外,其实还是蛮不错的,在FTP里面上传有时候是件耗费时间,而且痛苦的事情。不过织梦后台的文件列表的排序就有点头疼了。默认的排序很乱,不是按名称,也不是按时间,如果目录内容很多的话,很难找到自己想要的文件,实在是太不方便了。 于是想让这些文件列表按名字排序,看了一下后台的文件, 原来是因为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的dir函数导致的,dir()读取的文件是无序的,现在我们要想办法让他按名字排序,这里可以改另一个读取目录文件的函数scandir(); 这个函数的文件会按文件名称排序,改成下面这样:
<?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] : '未知模板');
?>