html,,排序字段:,,字段1,字段2,,,排序方式:,,升序,降序,,,,
`,,2. 在
your_action_file.php中,接收表单传递过来的排序字段和排序方式参数,并根据这些参数构造SQL查询语句。,,
`php,,
“,,3. 根据构造好的SQL查询语句,执行查询并输出结果。这部分代码需要根据你的实际需求和数据库结构进行编写。在织梦(dedecms)模板中,实现自定义字段排序功能需要对系统进行一些修改和配置,以下是具体的实现方法:
数据库操作
1、添加自定义字段:使用MySQL的管理工具,修改dede_archives
表结构,添加一个名为orderid
的列。
后台文件修改
1、修改article_add.php:打开dede/article_add.php
文件,找到以下代码段:
$query = "INSERT INTOdede_archives
(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,notpost,description,keywords,filename,dutyadmin) VALUES (‘$arcID’,’$typeid’,’$typeid2′,’$sortrank’,’$flag’,’$ismake’,’$channelid’,’$arcrank’,’$click’,’$money’,‘$title’,’$shorttitle’,’$color’,’$writer’,’$source’,’$litpic’,’$pubdate’,’$senddate’,‘$adminid’,’$notpost’,’$description’,’$keywords’,’$filename’,’$adminid’);";
将其修改为:
$query = "INSERT INTOdede_archives
(id,typeid,typeid2,sortrank,flag,ismake,channel,arcrank,click,money,title,shorttitle,color,writer,source,litpic,pubdate,senddate,mid,notpost,description,keywords,filename,dutyadmin,orderid) VALUES (‘$arcID’,’$typeid’,’$typeid2′,’$sortrank’,’$flag’,’$ismake’,’$channelid’,’$arcrank’,’$click’,’$money’,‘$title’,’$shorttitle’,’$color’,’$writer’,’$source’,’$litpic’,’$pubdate’,’$senddate’,‘$adminid’,’$notpost’,’$description’,’$keywords’,’$filename’,’$adminid’,’$orderid’);";
2、修改article_edit.php:打开dede/article_edit.php
文件,在191行之后增加一行:
orderid=’$orderid’
3、修改article_add.htm:打开dede/templets/article_add.htm
文件,找到134行,回车增加一行,并加入以下代码:
| 排序权重: | (请填写数字,越大越靠前) | (请填写数字,越大越靠前) | (请填写数字,越大越靠前) |
4、修改article_edit.htm:打开dede/templets/article_edit.html
文件,到131行,回车增加一行,并加入以下代码:
| 排序权重: | <input type="text" name="orderid" id="orderid" style="width:100px;" value=""/>(请填写数字,越大越靠前) | <input type="text" name="orderid" id="orderid" style="width:100px;" value="<?php echo $add_arcRow['orderid']?>"/>(请填写数字,越大越靠前) |
前台文件操作
1、修改arc.listview.class.php:打开include/arc.listview.class.php
文件,到558行,回车增加一行,并加入以下代码:
else if($orderby=="orderid") { $ordersql = " order by arc.orderid $orderWay"; //orderid为dede_archives表里面自己添加的字段 }
2、修改arclist.lib.php:打开include/taglib/arclist.lib.php
文件,到233行,回车增加一行,并加入以下代码:
else if($orderby == 'orderid') $ordersql = " order by arc.orderid $orderWay,arc.id $orderWay";
HTML模板调用
在HTML模板中调用自定义字段排序时,可以使用以下代码:
{dede:arclist typeid='2' row='11' titlelen='42' orderby='orderid' orderway='desc'} ... {/dede:arclist}
按文章ID升序排列:
{dede:arclist typeid='4' titlelen='24' row='4' flag='c' orderby='id' orderway='asc'}
按文章权重排序升序:
{dede:arclist typeid='4' titlelen='24' row='4' flag='c' orderby='weight' orderway='asc'}
FAQs
问题1:如何添加自定义字段?
答:登录织梦网站后台,依次点击“核心”>“频道模型”>“内容模型管理”,选择需要更改的模型(例如普通文章),然后点击“更改”,进入字段管理后,点击“添加新字段”,输入字段名称、数据类型等信息,最后点击确定即可。
问题2:如何在列表页显示自定义字段?
答:在列表页显示自定义字段需要在arclist标签中使用addfields属性,
{dede:arclist row='8' titlelen='32' addfields='jiage' channelid='1'} <li><span>¥[field:jiage/]起</span><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:arclist}
addfields属性指定了要获取的自定义字段名,channelid属性指定了该字段所属的内容模型ID。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1233977.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复