济南网站开发

织梦多个副栏只能保存一个如何解决?

作者:admin 分类:济南网站开发 2017-04-18 23:34:49 我要评论(0)

 最新版的织梦程序有必定的bug,比方咱们在发布文章时假如一起挑选多个副节目,保留后只能保留一个;再比方{dede:list}标签不支撑weight权重排序。今日济南网站建设就跟大家共享一下这两个疑问的解决办法,希望对大家有所帮助。

第一、怎么解决织梦挑选多个副节目只能保留一个的疑问


   咱们在有织梦DEDE增加新文章的副节目挑选多个副节目,保留后只剩下一个副节目ID。比方我在副节目有些挑选23,24,25这3个ID作为副节目,保留文章后只剩下23,别的的24,25都不见了,而更改文章,再增加上去的ID则可以保留。


   本来,这个是因为程序把$typeid2的数值整数化了,所以首次增加文章的时分只剩下一个整数(节目)。


修正回来的办法:


翻开/include/helpers/archive.helper.php 这个文件,156行,这一段代码


把$typeid2 = intval($typeid2);


改为 //$typeid2 = intval($typeid2);


或许删去


第二、怎么让织梦DedeCMS的{dede:list}标签支撑weight权重排序


   本来假如想完成让织梦DedeCMS的{dede:list}标签支撑weight权重排序,本来很简单,修正几处代码即可,下面就讲一下这个功用是怎么完成的。


1、找到"根目录\include\arc.listview.class.php"文件。


2、修正代码:在文件第727行处增加按weight排序判断代码(赤色有些为新增加代码)。


 //排序方法


$ordersql = ’’;


        if($orderby=="senddate" || $orderby=="id") {


            $ordersql=" ORDER BY arc.id $orderWay";


        }


        else if($orderby=="hot" || $orderby=="click") {


            $ordersql = " ORDER BY arc.click $orderWay";


        }


        else if($orderby=="lastpost") {


            $ordersql = "  ORDER BY arc.lastpost $orderWay";


        }


       else if($orderby=="weight") {


            $ordersql = "  ORDER BY arc.weight $orderWay";


        }


        else {


            $ordersql=" ORDER BY arc.sortrank $orderWay";


        }


3、再在第778行处找到此段代码


  //假如不用默许的sortrank或id排序,运用联合查询(数据量大时十分缓慢)


     if(preg_match(’/hot|click|lastpost|weight/’, $orderby))


  并增加赤色有些内容。


4、标签调用:


  {dede:list orderby=’weight’ orderway=’asc’}


  这么{dede:list}标签就支撑了按权重排序的调用,而且动静态状态下测验均成功!


1.本站文章源自网络,大部分原创内容。如有发现侵权等问题,请联系删除,谢谢。
2.更多原创内容源自济南网站建设公司
        3.济南网站建设公司提供:济南建设济南手机网站制作济南网站开发济南网站优化等服务

相关文章
网友点评

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新留言
    标签列表