1.官方的pc_tage中的get的说明文档,可见,其中并没有urlrule的标签。事实上,该功能也未实现。
GET标签使用方式如下:
{pc:get sql="SELECT * FROM _member" cache="3600" page="$page" dbsource="discuz" return="data"}
<ul>
{loop $data $key $val}
{$val[username]}<br />
{/loop}
</ul>
{$pages}
{/pc}
从上面的代码里面可以看出GET标签所支持的参数。对照下面的列表了解每一个参数的用途:
参数 | 默认值 | 必须 | 说明 |
---|---|---|---|
sql | null | 是 | 要执行的SQL语句 |
cache | 0 | 否 | 缓存时间,单位为秒 |
page | 0 | 否 | 分页,通过变量把当前的分布传给PC标签进行处理 |
dbsource | null | 否 | 数据源,当你通过系统后台的数据源模块配置过数据源时,可把数据源名填写到这里,系统会去对应的数据源来读取数据。如果要读取本系统的数据请留空 |
return | data | 否 | 返回的数据的变量 |
2.php代码改写
/libs/classes/template_cache.class.php,line174,在if (isset($page)) {
之前增加代码:
if(isset($urlrule) && !empty($urlrule))
{
$str .= '$urlrule = \'' . $urlrule . 'page={$page}\';';
}
3.模板调用
{php $page=$_GET['page'] }
{pc:get sql="SELECT * FROM `_news` Order by id DESC " num="12" page="$page" }
{loop $data $r}
增加urlrule="index.php?"
,变为:
{php $page=$_GET['page'] }
{pc:get sql="SELECT * FROM `_news` Order by id DESC " num="12" page="$page" urlrule="index.php?"}
{loop $data $r}