html,{dede:arclist typeid='1' orderby='weight'},
``在织梦CMS中,实现arclist和list标签按权重weight排序的方法主要涉及对系统文件的修改,以下是详细的步骤和方法:
一、dede:list 标签按权重weight排序的修改方法
1、找到并修改arc.listview.class.php文件
定位到include\arc.listview.class.php
文件。
在第727行左右添加权重排序代码:
```php
else if($orderby=="weight") {
$ordersql = " ORDER BY arc.weight $orderWay";
}
```
继续在该文件中查找如下代码段(大约在第778行):
```php
if(preg_match('/hot|click|lastpost/', $orderby))
```
修改为:
```php
if(preg_match('/hot|click|weight|lastpost/', $orderby))
```
2、调用示例
在模板中使用以下标签即可实现按权重排序:
```html
{dede:list orderby='weight' orderway='asc'}
```
二、dede:arclist 标签按权重weight排序的修改方法
1、找到并修改arclist.lib.php文件
定位到include\taglib\arclist.lib.php
文件。
在大约第74行找到:
```php
$isweight = $ctag>GetAtt('isweight');
```
将其修改为:
```php
$weight = $ctag>GetAtt('weight');
```
在大约第327行找到:
```php
else if($orderby == 'id') $ordersql = " ORDER BY arc.id $orderWay";
```
在其下面添加一行:
```php
else if($orderby == 'weight') $ordersql = " ORDER BY arc.weight $orderWay";
```
2、调用示例
在模板中使用以下标签即可实现按权重排序:
```html
{dede:arclist orderby='weight'}
```
如果需要降序排列,可以添加orderway='desc'
参数:
```html
{dede:arclist orderby='weight' orderway='desc'}
```
FAQs(常见问题解答)
问题1:为什么修改了arc.listview.class.php文件后,列表页还是没有按照权重排序?
答:请确保以下几点:
1、修改文件的位置和行数准确无误。
2、确保在模板调用时使用了正确的标签语法,如{dede:list orderby='weight' orderway='asc'}
。
3、检查是否有缓存文件存在,如果有,请删除缓存并重新生成页面。
问题2:如何在自定义字段上实现按权重排序?
答:如果您希望在自定义字段上实现按权重排序,可以按照以下步骤操作:
1、在数据库中为文章表(如dede_archives)添加一个新的字段,例如custom_weight
。
2、在模板调用时使用新字段进行排序,
```html
{dede:arclist orderby='custom_weight'}
```
3、如果需要在dede:list
标签中实现,同样需要修改arc.listview.class.php
文件,添加相应的排序判断代码。
织梦ARclist和List标签按权重Weight排序修改办法
1. 问题背景
在织梦(Dedecms)中,使用ARclist和List标签默认是按照文章的发布时间排序的,如果需要按照文章的权重(weight)排序,可以通过修改模板文件中的代码来实现。
2. 准备工作
确保你的织梦网站已经安装并正常运行。
打开织梦后台,确保文章的权重字段(weight)已正确设置。
3. 修改步骤
步骤一:找到模板文件
1、进入织梦后台,找到并复制你想要修改的模板文件的路径。
2、使用FTP客户端或其他文件传输工具登录到服务器,找到并打开该模板文件。
步骤二:定位ARclist或List标签
1、在模板文件中搜索 2、定位到生成文章列表的部分。 步骤三:修改排序代码 1、找到生成列表的SQL查询语句。 2、在SQL查询语句中,将原来的排序条件修改为按照权重排序。 以下是一个示例代码修改: 原代码: 修改后的代码: 或者,如果你使用的是 原代码: 修改后的代码: 步骤四:保存并预览 1、保存修改后的模板文件。 2、返回织梦后台,刷新相应的页面,预览修改后的效果。 4. 注意事项 确保修改的SQL查询语句符合你的数据库结构。 修改前备份模板文件,以防万一出现错误。 如果你对SQL语句不熟悉,请谨慎操作,或者寻求专业人士的帮助。 5. 结束 通过以上步骤,你应该能够成功地将织梦中的ARclist和List标签按照文章的权重进行排序。<arclist>
或<list>
SELECT * FROM
dede_arctype
ORDER BY aid DESC SELECT * FROM
dede_arctype
ORDER BY weight DESC<list>
标签,修改方式类似: SELECT a.id,a.title,a.onclick,a.addtime FROM dede_article a INNER JOIN dede_arctype b ON a.typeid=b.id WHERE a.arcrank>0 AND b.id={typeid} ORDER BY a.addtime DESC
SELECT a.id,a.title,a.onclick,a.addtime FROM dede_article a INNER JOIN dede_arctype b ON a.typeid=b.id WHERE a.arcrank>0 AND b.id={typeid} ORDER BY a.weight DESC