[織夢教程]織夢后臺模板列表按字母排序方法代碼

閱讀 ?·? 發布日期 2019-06-24 18:02 ?·? admin
我們知道織夢dedecms系統的后臺文件, 默認的排序很亂, 不是按名稱, 也不是按時間, 如果目錄內容很多的話, 很難找到自己想要的文件,實在是太不方便了, 就像下圖的排列方式那樣,找不到規律。
于是想讓這些文件列表按名字排序, 看了一下后臺的文件, 原來是因為php的函數dir引起的, 以"默認模板管理"在文件列表為例, 在后臺的找到模板文件: /你的后臺目錄/templets/templets_default.htm (dede為你的后臺目錄), 打開這個文件找到:
1 <?php
2 $dh = dir($templetdird);
3 while($filename=$dh->read())
4 {
5 if(!preg_match("#.htm#", $filename)) continue;
6 $filetime = filemtime($templetdird.'/'.$filename);
7 $filetime = MyDate("Y-m-d H:i",$filetime);
8 $fileinfo = (isset($fileinfos[$filename]) ? $fileinfos[$filename] : '未知模板');
9 ?>

替換為
1 <?php
2    $files = scandir($templetdird);
3    foreach ($files as $filename)
4    {
5       if(!preg_match("#.htm#", $filename)) continue;
6       $filetime = filemtime($templetdird.'/'.$filename);
7       $filetime = MyDate("Y-m-d H:i",$filetime);
8       $fileinfo = (isset($fileinfos[$filename]) ? $fileinfos[$filename] : '未知模板');
9    ?>

可以看得出來使用了PHP的dir函數導致的, dir()讀取的文件是無序的, 現在我們要想辦法讓他按名字排序, 這里可以改另一個讀取目錄文件的函數scandir(); 這個函數的文件會按文件名稱排序。