博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dedecms 权重排序问题
阅读量:5260 次
发布时间:2019-06-14

本文共 1855 字,大约阅读时间需要 6 分钟。

isweight='y' orderway='asc'  orderby='weight' 

 

依次进入根目录》dede 找到打开文件 album_edit.php  

//找到更新数据库的SQL语句

$query = "

update `#@__archives` set

......

weight='$weight'   //在后面加上权重变量

 

 

找到list解析文件 include/arc.listview.class.php  

//排序方式
  $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";
  } 发现排序规则里面并没有按照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";
  } 更改好在后台更新栏目html,新问题又来了,更新报错 

Error infos: Unknown column 'arc.weight' in 'order clause' 

Error sql: Select id From `dede_arctiny` arc where arc.arcrank > -1 And ( arc.typeid = '10' OR CONCAT(',', arc.typeid2, ',') like '%,10,%' ) order by arc.weight desc limit 0,10 
根据错误信息查找代码,很快找到include/arc.listview.class.php第669行 为报错的sql语句,通过检查发现原来排序有两种查询,一个是单表查询一个是组合查询,而我们按weight排序需要进行组合查询,而进入组合查询的条件没有包含weight

修改条件大概在682行左右找到---》  if(ereg('hot|click|lastpost',$orderby))  为 if(ereg('hot|click|lastpost|weight',$orderby)), 

 

在快速属性编辑器里面也加上这个功能  /dede/archives_do.php

在754行左右 sql 更新语句后面加上权重变量   weight = '$weight'

 

接下来如果想把权重值现在在内容列表里面就在这些模板和程序里面修改了  便于直观和修改

/dede/themes/article_add.htm 模板

/dede/article_add.php 添加文章时的处理程序

/dede/themes/article_edit.htm 模板

/dede/article_edit.php  更改文章时的处理程序

/dede/themes/content_list.htm   数据库文档管理 内容列表 模板

/dede/content_list.php 内容列表处理程序

 

转载于:https://www.cnblogs.com/weibo806/p/5010722.html

你可能感兴趣的文章
Js时间处理
查看>>
Java项目xml相关配置
查看>>
三维变换概述
查看>>
vue route 跳转
查看>>
【雷电】源代码分析(二)-- 进入游戏攻击
查看>>
Entityframework:“System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常。...
查看>>
Linux中防火墙centos
查看>>
mysql新建用户,用户授权,删除用户,修改密码
查看>>
FancyCoverFlow
查看>>
JS博客
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
283. Move Zeroes把零放在最后面
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
Python 数据类型
查看>>
S5PV210根文件系统的制作(一)
查看>>
centos下同时启动多个tomcat
查看>>
slab分配器
查看>>
数据清洗
查看>>
【读书笔记】C#高级编程 第三章 对象和类型
查看>>