使用AJAX按条件对织梦CMS进行二次开发列表排序
织梦CMS二次开发列表AJAX按条件排序,可以通过以下步骤实现: 1. 在模板中添加一个自定义字段,用于存储排序参数。 2. 在列表页面的JS文件中,编写一个函数,用于获取排序参数并发送AJAX请求。 3. 在后台控制器中,接收到AJAX请求后,根据排序参数对数据进行排序。 4. 将排序后的数据返回给前端,并在前端更新列表显示。 5. 为排序功能添加事件监听器,当用户点击排序按钮时,触发排序函数。
DedeCMS实现列表页按时间,点击,评论,星级排序的方法还挺多的,最简单的莫过于生成自由列表。最近玩AJAX玩上瘾了,就分享用AJAX动态加载列表的方法。
AJAX办法区别于生成自由列表,自由列表有许多优势:URL静态、独立的标题、描述、关键字,利于SEO优化;但是考虑到这些列表的对蜘蛛抓取规则来说并没有太大区别,只是排序规则不一样而已。
需要这个功能的童鞋下载几个文件:链接:http://pan.baidu.com/s/1gfsu8YB
说明与使用方法:
1.有gbk和utf8两个版本,把对应的文件放到网站根目录就好。
2./templets/default是对应的默认模板文件夹,里面的两个模板文件,分别是list_article.htm,list_article_ajax.htm,第一个是列表模板文件,第二个是AJAX加载文件,打开list_article.htm,找到
<scripttype="text/javascript">functionajax_url(url,id){if(id!=null){$("#a_update").attr("class","");$("#a_hot").attr("class","");$("#a_lastpost").attr("class","");$("#a_sortrank").attr("class","");$("#"+id).attr("class","on");}$.get(url,null,function(returnData){$("#list").html(returnData);});}$(function(){});</script>
红色的#list对应的是下面<div id="list">...</div>,这个div所包含的内容都会被AJAX加载的内容覆盖。
比如:你的列表模板名为:produce.htm,对应的AJAX模板命名为produce_ajax.htm。
异步加载列表排序常见问题
1.织梦58测试,JS动态显示点击次数,会显示错误,采用[field:click/]就好;
2.lazyload图片延迟加载加载不出图片,已解决,参考文章《网站图片Lazyload延迟加载技术》;
2.有局限性,不能使用在首页或频道封面,只能使用在最终列表栏目;
3.最后效果请参考本站任意一个栏目列表。