导读:dedecmsdedecmsdedecms模板实现{dede:sql=quot;quot;}分页功能分解相信很多使用dedecms的朋友在网上查找关于dede:sql标签进行分页的解决方案dede模板安装织梦模板。
dedecms模板实现{dede:sql=""}分页功能分解相信很多使用dedecms的朋友在网上查找关于dede:sql标签进行分页的解决方案时都不尽如人意,尤其是在
列表页使用dede:sql调用外部数据(所谓调用外部数据就是指在后台只是创建个空栏目,然后对应的列表模板文件中使用dede:sql指定自定义的数
据源,数据源与该栏目本身是没有逻辑关系的,目的是为了让织梦能按照它的规则来帮我们将数据源生成静态文件予以展示)时,我本人也搜索了很多资料,网上的
答案都不够完美,有的是直接在模板文件中执行php代码来实现分页,显然此方法无法生成静态文件,有的直接在sql里面指定limit参数,但又无法实现
智能分页,织梦官方也没有给出具体的解决方案,在dede论坛有看到织梦核心人物天涯给出的回复是采用自由列表的方法,显然自由列表无法指定外部数据源,
最后实在没办法只能自己动手了,首先想到的思路是将dede:list标签进行改造了,熟悉dede的朋友应该知道这个列表页专用标签的工作原理大致是先
通过栏目变量id获取到对应的数据源再呈现到页面上来,那么我们就可以让它不仅仅通过栏目变量id还可以通过指定的sql语句来获取数据源了,比如我们可
以另外嵌入一个类似{dede:listsql sql=’select * from wp_posts’
pagesize=’10′}的标签来使用。思路已经有了,接下来我们打开include/arc.listview.class.php这个文件来给它动个小手术吧!找到:View Code PHP |
if(!is_object($ctag)){$ctag = $this->dtp->GetTag("list");} |
这一段,在其后添加如下代码:View Code PHP//add by Gump 2011-12-31 http://www.moke8.com/if(!is_object($ctag)){$ctag
= $this->dtp->GetTag("listsql");if (is_object($ctag)){$cquery =
$ctag->GetAtt("sql");$cquery=preg_replace("/SELECT(.*?)FROM/is","SELECT
count(*) as dd FROM",$cquery);$cquery =
preg_replace("/ORDER(.*?)SC/is", "", $cquery);$row =
$this->dsql->GetOne($cquery);if(is_array($row)){$this->TotalResult
= $row['dd'];}else{$this->TotalResult = 0;}}}//end |
然后找到:View Code PHPif($ctag->GetName()=="list"){$limitstart
= ($this->PageNo-1) * $this->PageSize;$row =
$this->PageSize;if(trim($ctag->GetInnerText())==""){$InnerText =
GetSysTemplets("list_fulllist.htm");}else{$InnerText =
trim($ctag->GetInnerText());}$this->dtp->Assign($tagid,$this->GetArcList($limitstart,$row,$ctag->GetAtt("col"),$ctag->GetAtt("titlelen"),$ctag->GetAtt("infolen"),$ctag->GetAtt("imgwidth"),$ctag->GetAtt("imgheight"),$ctag->GetAtt("listtype"),$ctag->GetAtt("orderby"),$InnerText,$ctag->GetAtt("tablewidth"),$ismake,$ctag->GetAtt("orderway")));}
关键词标签: dedecms 分页 分解
声明: 本文由我的SEOUC技术文章主页发布于:2023-07-20 ,文章dedecms模板实现{dede:sql=""}分页功能分解,dedecm主要讲述分页,分解,dedecms网站建设源码以及服务器配置搭建相关技术文章。转载请保留链接: https://www.seouc.com/article/web_31681.html
为你推荐与dedecms模板实现{dede:sql=""}分页功能分解,dedecm相关的文章
网站建设技术SEOUC.COM
专注网站建设,SEO优化,小程序设计制作搭建开发定制网站等,数千家网站定制开发案例,网站推广技术服务。
5000+合作客服
8年从业经验
150+覆盖行业
|