pc:get 增加支持urlrule的解決辦法

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}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章