要想搞定这个问题,首要的问题是要搞明白帝国CMS解析原理,其实帝国不是模板引擎进行解析的,它只是替换
$listtemp=str_replace('[!--show.listpage--]',$listpage,$listtemp);
一般如果按照模板引擎编译解析的方式,会选将所有变
量性质的标签直接通过定界符判断出是标签,然后统一使用正则
进行解析,而帝国的处理方式是一个个单独处理,所以就出现像
上面的那样,$string为读取出来的模板内容,然后一步一步逐一
替换处理,典型的早期的动易、新云等ASP类CMS的标签的处理
方式。
知道上面这个就好理解如何做帝国自定义分页了。
这里还有两个知道点
1、自定义函数如何写,写在哪里
e/class/userfun.php
这个文件是帝国定义的使用者写自己函数的地方。
2、要知道帝国的列表页是如何解析的。这里要知道哪个文件是干解析用的
e/action/ListInfo/index.php
仔细阅读源码会发现,帝国是如何解析分页这个业务逻辑的
//分页 //$public_r['Pstaticlistpagefun']="myInfoUsePage";$listpage=InfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr); if($pagefunr['rewrite']==1||$pagefunr['repagenum'])//它是伪静态时或是静态页时的业务 { $listpage=myInfoUsePage($num,$line,$page_line,$start,$page,$search,$pagefunr);//它是动态时走的判断 } else { $listpage=page1($num,$line,$page_line,$start,$page,$search); }由上可知trylife之所以称其为该死,因为它只是判断了静态和伪静态,至于动态,这逼没有说,也许是故意没有说的吧,小般小白是不可能分析出来的.
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!
原文地址:《帝国用php调用不同样式,帝国cms不同列表页调用不同分页样式的写法》发布于2022-10-08 14:18:55