dedecms生成栏目列表页排序多样化pubdate,click等排序

2023/03/30 10:07    5G收录网    已浏览157次

dedecms生成栏目列表页排序多样化pubdate,click等排序格式
如下图显示:

修改教程如下:

第1步:

在   dede/inc_menu.php  中找到“更新主页HTML“ 在这一部分中增加若干行必要的代码:

    例如 <m:item name='更新Click排序列表' link='makehtml_list_click.php' rank='sys_MakeHtml' target='main' />

第2步:

在   dede目录中找到 makehtml_list.php、makehtml_list_action.php,分别复制一份重命名为makehtml_list_click.php、makehtml_list_click_action.php
在   makehtml_list_click.php 中将“makehtml_list.htm” 改为“makehtml_list_click.htm”;
在   makehtml_list_click_action.php  中 将“arc.listview.class.php” 替换为 “arc.list.click.view.class.php”;接着在大概文件末尾,找到 “makehtml_list_action.php” 改为“makehtml_list_click_action.php”;

第3步:

在   dede/templets目录中找到 makehtml_list.htm,复制一份重命名为 makehtml_list_click.htm;然后打开新建的文件找到action="makehtml_list_action.php",替换为 action="makehtml_list_click_action.php"

第4步:
这一步需要改的比较多点了
在   include目录中找到 arc.listview.class.php 复制一份重命名为 arc.list.click.view.class.php
接着打开您新建的这个文件arc.list.click.view.class.php:
①:找到
   $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$this->TypeLink->TypeInfos['templist']; // very68.com
   $tempfile = str_replace("{tid}", $this->TypeID, $tempfile);
   $tempfile = str_replace("{cid}", $this->ChannelUnit->ChannelInfos['nid'], $tempfile);
   if(!file_exists($tempfile))
   {
    $tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_default.htm";
   }
   if(!file_exists($tempfile)||!is_file($tempfile))
   {
    echo "模板文件不存在,无法解析文档!";
    exit();
   }

全部替换为   
$tempfile = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_templets_dir']."/".$GLOBALS['cfg_df_style']."/list_click_article.htm"; // list_click_article.htm是你自己制作的按click排序的模板,官方默认的模板是按pudate排序,这个看您自己的喜好了,O(∩_∩)O~

②、找到
     $onlyrule = $this->GetMakeFileRule($this->Fields['id'],"list",$this->Fields['typedir'],'',$this->Fields['namerule2']);
     $onlyrule = str_replace("{page}","1",$onlyrule);
     $list_1 = $this->GetTruePath().$onlyrule;
     $murl = MfTypedir($this->Fields['typedir']).'/'.$this->Fields['defaultname'];
全部删掉或者注释掉即可。

③、找到
     $namerule2 = str_replace('{tid}',$typeid,$namerule2);
替换为
     $namerule2 = str_replace('{tid}',$typeid.'_click',$namerule2); // very68.com
      其中_click,按自己喜好命名。